AutomationTestSystem【软件自动化测试系统】

Apache License 2.0
JavaFx
Window
King · October 11, 2018 · 4036 次阅读 · 19 条评论

欢迎查阅 AutomationTestSystem(软件自动化测试系统)

  • AutomationTestSystem 是一个多功能自动化测试系统,使用 JavaFx 编写的 Windows 应用程序,可用于 Appium,Selenium,RestAssured 等多框架应用的测试
    • Appium 是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,可用于 Android 和 IOS 以及 Firefox OS 等操作系统
    • Selenium 是一个用于 Web 应用程序的自动化测试框架,直接运行在浏览器中,就像真正的用户在操作一样
    • Rest Assured 是一套由 Java 实现的 REST API 测试框架,它是一个轻量级的 REST API 客户端,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果
    • 其中最重要的是 AutomationTestSystem 是跨平台的,何为跨平台,意思就是一套系统兼容多个平台,可以针对不同的平台用一套方法来编写测试用例

系统下载:

 百度网盘:https://pan.baidu.com/s/1ZYrihj5AS6V2U3zW1noVlw 提取码: t5nv
 腾讯微云:https://share.weiyun.com/s1Gtk5Nt

源码地址:

 Gitee 地址:https://gitee.com/hagyao520/AutomationTestSystem.git (攒满 100 个赞开放源码)
 GitHub 地址:https://github.com/hagyao520/AutomationTestSystem.git (攒满 100 个赞开放源码)

系统介绍:

  • JavaFx + Appium + Selenium + Rest Assured + JDBC + Atom + Xml + Git + Maven + Ant + TestNG + App Inspector
    • 使用 JavaFx 作为项目编程语言
    • 使用 Appium 作为 App 项目底层服务驱动框架
    • 使用 Selenium 作为 Web 项目底层服务驱动框架
    • 使用 RestAssured 作为 Api 项目底层服务驱动框架
    • 使用 JDBC 作为数据库管理工具,方便连接数据库,执行 SQL
    • 使用 Atom 作为编辑器工具,方便编写 Xml 测试脚本,维护测试脚本
    • 使用 Xml 作为脚本管理文件,方便管理测试脚本用例
    • 使用 Git 作为仓库管理工具,方便管理测试脚本,上传,下载等
    • 使用 Maven 作为项目类型,方便管理架包
    • 使用 Ant 作为项目的构建工具,方便测试项目的自动编译,自动打包,自动运行测试脚本
    • 使用 TestNG 作为项目运行框架,方便执行测试脚本,生成测试报告
    • 使用 App Inspector 作为 Appium 的元素定位工具,方便查找和定位元素

主要功能:

  1. 实现了可在线下载自动化测试项目 (Appium,Selenium,RestAssured)
  2. 实现了基于 Appium 框架的 Android,IOS 应用的自动化测试
  3. 实现了基于 Selenium 框架的 Web 应用的自动化测试
  4. 实现了基于 RestAssured 框架的 Api 接口的自动化测试
  5. 实现了可以在线编写对象,使用 Atom 编辑器编写测试对象
  6. 实现了可以在线编写脚本,使用 Atom 编辑器编写测试脚本
  7. 实现了可以在线上传,下载脚本,实际调用 Git 命令 push 和 pull
  8. 实现了可以在线运行测试脚本,使用 Ant 运行 build 文件,执行脚本
  9. 实现了可以在线生成测试报告,使用 TestNG 生成,调用 ExtentReports 进行二次美化,界面更美观,内容清晰
  10. 实现了可以在线发送邮件,自动发送测试报告到对应收件人邮箱,最大支持 4 个
  11. 实现了插桩 APK,采集手机性能测试数据,上传并进行数据分析,生成性能测试报告,同时可以在线监控 Android 手机性能
  12. 实现了 ATX 在线设备集群管理,在线管理多台 Andriod 手机设备,可以在线进行远程操控,远程监控,远程获取界面元素

环境配置:

JDK1.8 以上
Eclipse/IDEA
Appium
Android SDK
App Inspector
Node
Gradle
Python
Maven
Ant
Atom
Git
一台安卓手机或者安卓模拟器,推荐使用真机

安装运行:

  1. 下载完 exe 系统程序后,双击 AutomationTestSystem-1.1.3.exe,点击 install 按钮,完成安装
  2. 安装完成后,会自动运行程序,注:【系统需安装 java 环境】
  3. 鼠标右击任务栏中程序图标,打开程序安装位置,进入 app 目录
  4. 双击【点击生成桌面快捷方式】bat 文件,即可自动生成桌面快捷程序,以后点击桌面图标运行即可
  5. 或者下载源码运行,具体使用方法,参考以下内容!

  • 使用说明:

注意事项:

  • 下载源码工程的项目编码需要设置成 UTF-8,否则会出现中文乱码情况

一、源码工程,运行启动类,【StartClient.java】

package AutomationTestSystem;

import AutomationTestSystem.View.LoginPageView;

public class StartClient {
    public static void main(String[] args) {
        try {
            LoginPageView.main(args);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

二、系统登录:

  • 正常启动后,系统会自动进入登录界面,如下:

  • 点击账号选项框,选择第一个账号,如下:

  • 点击登录按钮,等待 3 秒,自动进入系统加载页面,如下:

  • 点击进入系统按钮,进入系统主页面,如下:

PS:登录环节去掉了账号验证功能,当前选择的账号作为体验者账号,有需要验证的,后面自己新增接口或者数据库验证即可!

三、系统主界面:

  • 系统主页是一个自己设计的 html 的炫酷动画,点击音乐播放按钮,可以播放音视频,目前只集成了一两个,大家有喜欢歌的可以自己修改,集成进去即可。

四、前端功能中心(需要根据自己的项目设计):

  • 前端功能中心里面的内容,可以自己定义,主要是前端页面功能,例如一套很复杂的流程需求,可以设计成一个按钮,点击后就可以一键快速实现,自动完成。

五、后端功能中心(暂且未设计,有需要的根据自己的项目设计):

  • 后端功能中心目前留白,主要是后端页面功能,可以根据测试的需求,自己设计页面功能。

六、WEB 自动化中心(Web 网页自动化测试):

  • WEB 自动化中心是我自己设计的一套界面,专门针对与做网页测试的同学,极大的节省了测试的时间,以及重复的工作,让自动化代替人工!
  • 使用流程:

 1.输入 WEB 项目工程地址,点击下载按钮,例如:https://gitee.com/hagyao520/Selenium.git
 2.点击配置文件按钮,选择对应配置文件,例如:src\main\java\common.properties
 3.点击测试对象按钮,选择对应测试对象,例如:TestCases\SearchProcess.java
 4.点击测试脚本按钮,选择对应测试脚本,例如:TestCaseXml\SearchProcess.xml
 5.点击脚本集合按钮,选择对应脚本集合,例如:TestReportXml\TestngReport.xml
 6.输入对应提交备注,点击脚本上传按钮,即可上传脚本到 GIT,实现同步,方便多人协调写脚本
 7.点击脚本下载按钮,即可下载脚本到本地,实现同步,方便多人协调写脚本
 8.点击脚本运行按钮,即可在线运行脚本,在脚本运行日志区域,可以看到脚本的运行日志情况
 9 脚本运行结束后,点击生成报告按钮,即可自动打开浏览器,查看测试报告,需翻墙使用,有提示
 10.选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

  • PS:注意测试执行时需要在 common.properties 文件中,指定浏览器和浏览器配置文件
  • 具体 WEB 项目框架请参考: https://testerhome.com/topics/13439

七、API 自动化中心(API 接口自动化测试):

  • API 自动化中心是我自己设计的一套界面,专门针对与做 API 接口测试的同学,极大的节省了测试的时间,以及重复的工作,让自动化代替人工!
  • 使用流程:

     1.输入 API 项目工程地址,点击下载按钮,例如:https://gitee.com/hagyao520/RestAssured.git
     2.点击配置文件按钮,选择对应配置文件,例如:src\main\java\jdbc.properties
     3.点击测试对象按钮,选择对应测试对象,例如:TestCases\CaptchaTest.java
     4.点击测试脚本按钮,选择对应测试脚本,例如:TestCaseXls\JMoney.Luckeylink.Api.xlsm
     5.点击脚本集合按钮,选择对应脚本集合,例如:TestReportXml\TestngReport.xml
     6.输入对应提交备注,点击脚本上传按钮,即可上传脚本到 GIT,实现同步,方便多人协调写脚本
     7.点击脚本下载按钮,即可下载脚本到本地,实现同步,方便多人协调写脚本
     8.点击脚本运行按钮,即可在线运行脚本,在脚本运行日志区域,可以看到脚本的运行日志情况
     9.脚本运行结束后,点击生成报告按钮,即可自动打开浏览器,查看测试报告,需翻墙使用,有提示
     10.选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

  • 具体 API 项目框架请参考: https://testerhome.com/topics/13532

八、APP 自动化中心(APP 功能自动化测试):

  • APP 自动化中心是我自己设计的一套界面,专门针对与做 APP 功能测试的同学,极大的节省了测试的时间,以及重复的工作,让自动化代替人工!
  • 使用流程:

     1.输入 APP 项目工程地址,点击下载按钮,例如:https://gitee.com/hagyao520/Appium.git
     2.选择对应软件 APP 名称,软件日期等,点击软件下载按钮,例如:微信
     3.点击测试对象按钮,选择对应测试对象,例如:TestCases\WeChatLogin.java
     4.点击测试脚本按钮,选择对应测试脚本,例如:TestCaseXls\WeChatLogin.xml
     5.点击脚本集合按钮,选择对应脚本集合,例如:TestReportXml\TestngReport.xml
     6.输入对应提交备注,点击脚本上传按钮,即可上传脚本到 GIT,实现同步,方便多人协调写脚本
     7.点击脚本下载按钮,即可下载脚本到本地,实现同步,方便多人协调写脚本
     8.点击脚本运行按钮,即可在线运行脚本,在 Appium 运行日志和脚本运行日志区域,可以看到 Appium 及脚本的运行日志情况
     9.脚本运行结束后,点击生成报告按钮,即可自动打开浏览器,查看测试报告,需翻墙使用,有提示
     10.选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

  • 具体 APP 项目框架请参考: https://testerhome.com/topics/13401

九、性能自动化中心(Android 性能监控):

  • 性能自动化中心是我自己设计的一套界面,专门针对做 Android 性能监控的同学,可以即时获取手机内存,CPU,网络等数据进行分析,内存泄漏可以随时监控!
  • 使用流程:

 1.输入 insights.py 项目工程地址,点击下载按钮,例如:https://github.com/appetizerio/insights.py
 2.输入 insights.py 依赖命令,点击安装按钮,例如:python -m pip install -r requirements.txt
 3.点击账号登录按钮,点击注册账号,填写 Appetizer 账号信息,注册成功后,下载 Appetizer 客户端
 4.点击账号登录按钮,填写已注册的 Appetizer 账号和密码,点击确认登录,登录成功即可
 5.点击 APK 插桩按钮,选择对应本地 debug 版本的 APK,进行插桩,插桩成功后会自动生成 process.apk 结尾的新 APK
 6.点击获取设备按钮,本地连接手机至 USB 调试模式,正常连接的情况下,可以获取到手机设备 ID 信息,选择对应要使用的手机设备 ID 即可
 7.点击安装 APK 按钮,选择已插桩好的 APK,例如 XXXprocess.apk,安装成功后,启动手机上的 APP
 8.点击开始监控按钮,程序会自动获取对应手机内存,CPU,网络等数据,接口数据统计区域会显示,右侧是图表显示区域
 9.点击停止监控按钮,可以暂停获取对应手机内存,CPU,网络等数据,并记录开始时间和结束时间,代表这一段时间内容性能信息
 10.点击上传分析按钮,可以自动上传当前性能数据至 Appetizer,登录 Appetizer 客户端,即可查看具体的性能分析报告

十、ATX 设备集群化中心(Android 多设备在线管理平台):

  • ATX 设备集群化中心是我自己设计的一套界面,专门针对于公司存在多部手机设备时,无法集中管理而开发的平台,可在线管理设备,远程操控,远程监控,获取元素等!
  • 使用流程:

 1.点击开启服务按钮,一键启动 rethinkdb,atx-server,WEditor 后台服务,点击关闭服务按钮,即可一键关闭所有服务
 2.点击获取设备按钮,保持手机和电脑之间的连接,并开启 Android 开发者 USB 调试模式,可在线一键获取手机设备信息
 3.点击远程操控按钮,选择谷歌浏览器安装路径,填写对应手机 IP,手机 UDID,电脑 IP,即可一键远程操控设备
 4.点击远程监控按钮,选择谷歌浏览器安装路径,填写对应手机 IP,手机 UDID,电脑 IP,即可一键远程监控设备
 5.点击获取元素按钮,填写对应手机 IP,点击连接按钮,即可在线远程获取手机元素信息

十一、任务栏图标:

  • 该系统继承一般的 Windows 程序特性,可以最小化,生成任务栏图标,不使用时,可以挂起任务栏,方便使用。

十二、感谢:

非常感谢您花费时间阅读,祝您在这里记录、阅读、分享愉快!
欢迎留言评论,有问题也可以联系我或者加群交流....

作者 :@ 刘智 King
QQ :1306086303
QQ 群:126325132
Email:hagyao520@163.com

评论列表
King 发表于 July 16, 2021

【Jay_】这个人的评论能删除下吗,真没素质@Lihuazhang

King 发表于 August 19, 2019

@tony-jack 就是 java 控制台日志输出

wengzexiong 发表于 August 16, 2019

问下楼主 ..这个实时显示日志的功能怎么实现的

Pangluo 发表于 August 02, 2019

@Jay_ 宁配吗?

Zoey 发表于 June 28, 2019

主题可以自定义吗

King 发表于 June 12, 2019

@ChenMoon 加我 QQ,我帮你看看

ChenMoon 发表于 June 10, 2019

登录提示服务器连接失败是咋回事?

徐汪成 发表于 April 04, 2019

@hagyao520 我的意思是说 1、分离配置,比如我只想用其中一种功能,能不能就少配置点。2、工具是简化工作的,最好能有类似快捷配置环境或者你的软件自动部署本地环境的功能。

King 发表于 March 19, 2019

@steven-xgt 设计风格和功能使用不冲突,多看看教程就会用了

stevenxu 发表于 March 14, 2019

这种风格真心玩不来

King 发表于 November 13, 2018

@xuwangcheng14 你可能没玩过自动化,这些配置是必须的,每个人的电脑环境不同,不配置如何运行起来?

徐汪成 发表于 November 10, 2018

界面很酷炫,但是实用性和用户体验感可行?
看到要配置那么多东西感觉就不想下载了.

希望作者可以简化一下配置.

发表于 October 29, 2018

向大佬低头

未更新 发表于 October 26, 2018

这个也太绚了吧

gaomengsuijia 发表于 October 22, 2018

这界面好像在打游戏

King 发表于 October 16, 2018

对的,很酷炫

恒温 发表于 October 15, 2018

这个也太绚了吧

Benjamin 发表于 November 16, 2018

杀马特风格,不适用广大人民群众使用,哈哈

Jay_ 发表于 February 19, 2019

哈哈哈哈
脑残 鉴定完毕.