开源测试工具 [IT] 软件自动化解决方案『免费开源』基于 JavaFx 的自动化测试系统,已更新至 V1.1.3 最新版

瑾° · 2018年10月09日 · 最后由 kingTester 回复于 2024年03月15日 · 10011 次阅读

欢迎查阅 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 (已开放源码)
 GitHub 地址:https://github.com/hagyao520/AutomationTestSystem.git (已开放源码)

系统介绍:

  • 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

附言 1  ·  2018年10月10日

已开放下载,大家尽情使用吧,又问题欢迎询问。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
最佳回复

立马获取了一大波宅男的芳心

共收到 40 条回复 时间 点赞

狂炫酷拽

战 神 回复

界面设计的还行吧,功能实用,才是硬道理,o(∩_∩) o 哈哈

瞬间爆炸

立马获取了一大波宅男的芳心

长歌丶 回复

咋了,没那么夸张吧。

各位可以去看看作者的自动化框架源码,其中一些设计模式之前借鉴过,还是不错的

外观很酷炫

功能不说 FX 好评..

够炫酷

很炫酷

狂甩库扎吊炸天

以为进入了某游戏界面

讲真,我老板要是看到这界面,可能会以为我在玩游戏😹

界面看的中二病犯了😆

我以为开源了一款游戏官网。。

瑾° #17 · 2018年10月11日 Author
Mingway_Hu 回复

嗯,有时间就去写

瑾° #18 · 2018年10月11日 Author
Mingway_Hu 回复

提交成功了,需要等待管理员审核。

瑾° 回复

已通过:)

瑾° 自动化测试选择语言疑问。 中提及了此贴 10月25日 18:25
瑾° [该话题已被删除] 中提及了此贴 11月01日 17:29
iBatigoal 回复

同感 +1

iBatigoal 回复

同感~~

瑾° #25 · 2018年11月13日 Author

@jack2795 当老板仔细一看就会发现,这哥们居然这么会玩?

在公司还真不敢用

瑾° #27 · 2018年11月13日 Author
瞧瞧 回复

有啥不敢的,老板会因为一个界面开除你,太夸张了吧。

上班用这个界面,em,会被打,哈哈

瑾° #30 · 2018年11月14日 Author

不会的,别担心,老板会夸你的,o(∩_∩) o 哈哈

瑾° appium 环境搭配问题 中提及了此贴 12月03日 12:08
33楼 已删除
34楼 已删除
35楼 已删除
瑾° [该话题已被删除] 中提及了此贴 01月23日 10:05
瑾° [该话题已被删除] 中提及了此贴 01月24日 10:41

洗剪吹风格...汗

秋草 回复

像吗?设计的就是暗黑风格

瑾° 回复

建议风格简单一点,花里胡哨的不太适合

瑾° #43 · 2019年02月01日 Author
默默无闻 回复

功能实用就好

有没有 mac 的安装包

瑾° #45 · 2019年02月14日 Author
小裙子 回复

mac 安装 java 环境也可以使用,不过最好还是用 windows 好点

46楼 已删除
瑾° #47 · 2019年02月14日 Author
小裙子 回复

mac 的安装包加我 QQ,私聊发你.

瑾° [该话题已被删除] 中提及了此贴 02月14日 18:29

很牛逼的感觉

瑾° #50 · 2019年02月15日 Author
Mr Wang 回复

还行吧,用着挺不错

什么时候开放源码啊?gihub,Gitee 打不开

瑾° #52 · 2019年02月18日 Author
fendo8888 回复

后面会开放

瑾° [该话题已被删除] 中提及了此贴 02月18日 10:30
瑾° [该话题已被删除] 中提及了此贴 02月20日 10:13
瑾° [该话题已被删除] 中提及了此贴 02月21日 14:26
瑾° [该话题已被删除] 中提及了此贴 02月22日 11:53
瑾° [该话题已被删除] 中提及了此贴 02月26日 10:09

赞赞赞

瑾° 求个大神教我接口自动化测试 中提及了此贴 06月20日 10:46

献上我的膝盖!!!

笑死了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册