All Projects → yili1992 → TAC

yili1992 / TAC

Licence: MIT license
自动化测试集管理/执行系统

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to TAC

DBTestCompare
Application to compare results of two SQL queries
Stars: ✭ 15 (-65.12%)
Mutual labels:  testng
MasterAppiumFramework
Automation Testing | Mobile | Java | OOPS | Appium | TestNG | Maven | ExtentReport | Java mail API | Logging (Log4J2) | Design Patterns (Page Object Model, Singleton) | Page Factories | Jenkins | Data-Driven Testing using JSON file | Expected Data using XML file
Stars: ✭ 27 (-37.21%)
Mutual labels:  testng
qa-automation-base
There are basic projects for automation frameworks based on Kotlin/Java and TypeScript for the backend, frontend, and mobile.
Stars: ✭ 45 (+4.65%)
Mutual labels:  testng
MasterSeleniumFramework
Automation Testing | Web | Java | OOPS | Selenium WebDriver | TestNG | Maven | ExtentReport | Allure Reports | Java mail API | Design Patterns (Page Object Model, Singleton) | Jenkins | Data-Driven Testing using JSON file
Stars: ✭ 52 (+20.93%)
Mutual labels:  testng
SeleniumTDD
A Selenium TDD framework that incorporates key features of Selenium and TestNG which can be used to create web-based automation scripts.
Stars: ✭ 23 (-46.51%)
Mutual labels:  testng
sunshine
Sunshine allows you to manage suits of your automated tests directly from Java code.
Stars: ✭ 12 (-72.09%)
Mutual labels:  testng
ios-ui-automation-overview
An overview of popular iOS UI testing solutions.
Stars: ✭ 23 (-46.51%)
Mutual labels:  automation-test
autotest-framework
UI自动化测试框架,支持APP、Web、HTML5三端, 基于SpringBoot框架, 采用Page Object设计模式,基于 TestNG 测试框架构建测试用例,支持消息通知、失败截屏、HTTP 报告、并发执行等特性
Stars: ✭ 98 (+127.91%)
Mutual labels:  testng
botium-cli
Botium CLI - The Selenium for Chatbots
Stars: ✭ 27 (-37.21%)
Mutual labels:  automation-test
Selenium-Foundation
Selenium Foundation is an automation framework designed to extend and enhance the capabilities provided by Selenium (WebDriver).
Stars: ✭ 51 (+18.6%)
Mutual labels:  testng
carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+1416.28%)
Mutual labels:  testng
spydriver
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.
Stars: ✭ 24 (-44.19%)
Mutual labels:  automation-test
selenified
The Selenified Test Framework provides mechanisms for simply testing applications at multiple tiers while easily integrating into DevOps build environments. Selenified provides traceable reporting for both web and API testing, wraps and extends Selenium calls to more appropriately handle testing errors, and supports testing over multiple browser…
Stars: ✭ 38 (-11.63%)
Mutual labels:  testng
testng-metrics
A HTML Report of test executions via TestNG (No code changes required, Export results)
Stars: ✭ 3 (-93.02%)
Mutual labels:  testng
rest.api.test
Simple REST API Test Framework
Stars: ✭ 47 (+9.3%)
Mutual labels:  testng
selenium BDD framework
Behavioural driven development UI automation framework using selenium, cucumber-java, testng, maven, phantomjs
Stars: ✭ 34 (-20.93%)
Mutual labels:  testng
neodymium-library
A test automation library based on common other best practice open source libraries. It adds missing functionalities but does not reinvent the wheel. Just glues stuff together nicely and adds some sprinkles.
Stars: ✭ 70 (+62.79%)
Mutual labels:  automation-test
CloudRaider
A resiliency tool that automates Failure mode effect analysis tests, simplifying complex testing with a behavior-driven development and testing approach. Provides a programmatic way to execute controlled failures in AWS and a BDD way to write test cases, allowing test plans themselves to become test cases that can be executed as is.
Stars: ✭ 26 (-39.53%)
Mutual labels:  automation-test
SeleniumCucumber
BDD framework for automation using Selenium Cucumber and TestNg
Stars: ✭ 48 (+11.63%)
Mutual labels:  testng
ReCapProject
Rent A Car Service
Stars: ✭ 40 (-6.98%)
Mutual labels:  automation-test

TAC 自动化测试集管理系统

ice

前言

分享一个最近实现的一个自动化测试管理系统

  • 为什么做这个东西:市面上API的管理和执行系统非常多,测试用例管理的系统也很多,但是管理和执行测试集的系统不多,github上没有找到合适的,加上公司需要这么个东西。
  • 为什么这么设计:想做一套基于TestNG framework深度定制的自动化测试管理平台
  • 开发的难易程度: 前后端分离, 后端写逻辑提供接口和服务,前端通过开源工具快速构建。
  • 为什么要写个分布式Case执行器不用Jenkins执行调度: 因为通过 消息队列三种模式 可以间接满足各种复杂的执行情况。
  • 目前还有很多设想的功能还没实现,期望各位大佬一起PR

一、简介

1.1 概述

TAC 是应对与TestNG的自动化测试用例管理系统,以TestNG package出的jar 和TestNG 的xml 文件来驱动执行测试集。 目的在于对测试集进行管理和回归,分布式的Case执行器可以 应对以后大量Case并发执行的需求,加速回归时间。

1.2 工程介绍

  • TACase 是前端项目 技术栈:React, IceWork, IceDesign
  • TACase_Server 是后端项目 技术栈: Mybatis, Dubbo, SpringBoot, Thymeleaf
  • TACase_Executor 是case执行器项目 技术栈: XXL-MQ SpringBoot

1.3 特性

  • 分布式Case执行器: 加速执行大量回归测试集的时间
  • DashBoard: 测试集,执行,浏览 数据的统计
  • 简单全面: 对于测试集的管理,执行,和报告的查看
  • 与TestNG解耦:跟TestNG 库的关联 通过Listener, 即对TestNG测试用例代码无侵入.(后期还需要继续解耦,或者合并TestNG)
  • 执行钩子: 提供相应测试集的 执行钩子 ,方便CI
  • 定时任务设置

1.4 背景

Why TAC

TAC 是TA Case简写,在将来测试集数量多,总类多的时候,如何筛选回归用例,如果管理回归用例以及非测试开发人员还需要搭建环境来进行回归会成为一个问题

  • 管理用例: 系统上对每个测试集设置了项目的字段,及搜索的功能
  • 筛选用例: 每个测试集对应一个TestNG xml文件,使用自带的 group,及选择package 功能进行筛选
  • 执行用例: 将执行Case 托付给Case执行器,可以随时对期望回归的测试集进行回归。

Why XXL-MQ

执行器用到了XXL-MQ,是因为XXL-MQ是一款轻量级分布式消息队列,支持串行、并行和广播等多种消息模型,且开源

  • 目前流行的ActiveMQ、RabbitMQ和ZeroMQ等消息队列的软件中,大多为了实现AMQP,STOMP,XMPP之类的协议,变得极其重量级(如新版本Activemq建议分配内存达1G+),但在很多Web应用中的实际情况是:我们只是想找到一个缓解高并发请求的解决方案,一个轻量级的消息队列实现方式才是我们真正需要的

1.5 环境

  • Zookeeper3.4+
  • Jdk1.8+
  • Mysql5.5+

二、系统设计

2.1 系统框架图

image

2.2 名词解释

  • Icework: 阿里开源工具,通过GUI工具极速构建中后台前端应用
  • QUEUE:点对点模式, 消息进去队列之后, 只会被消费一次。同一Topic下的多个Consumer并行消费消息, 吞吐量较大
  • SERIAL_QUEUE:点对点模式, 消息进去队列之后, 只会被消费一次。 但是,同一个Topic下只会有一个Consumer串行消费消息, 适用于严格限制并发的场景

三、安装部署

请按照下面顺序进行安装部署

3.1 安装部署TAC

  • XXL-MQ xxl-MQ进行消息队列来分发消息,安装broker即可,阅读3.2, 3.3, 3.4 然后打出war包 部署在tomcat上 正常访问到管理平台 标识安装成功
  • TAC_Server安装
  • TAC_Executor安装

四、更新日志

v1.0.0

  • TestCase 增加/管理/执行

v1.1.0

  • 增加定时任务功能
  • springboot 升级到 2.0.0
  • 修复case执行状态更新bug
  • 版本升级需要 执行TACase_Server/tac-web/resource/quartzDB.sql 和TACase_Server/README.md 中cron_task 建表语句

快照

image image image image

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].