3 Star 22 Fork 19

King / AutomationTestSystem

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

欢迎查阅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个

环境配置:

  1. JDK1.8以上
  2. Eclipse/IDEA
  3. Appium
  4. Android SDK
  5. App Inspector
  6. Node
  7. Gradle
  8. Python
  9. Maven
  10. Ant
  11. Atom
  12. Git
  13. 一台安卓手机或者安卓模拟器,推荐使用真机

• 部分网站需要翻墙,具体安装参考:https://blog.csdn.net/love4399/article/details/77164500

安装运行:

1.  下载完exe系统程序后,双击AutomationTestSystem-1.1.2.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. 选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

七、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. 选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

八、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. 选择邮件方式,输入发送人数,收件人邮箱,点击发送邮件按钮,即可自动发送测试报告到指定收件人邮箱

九、性能自动化中心(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客户端,即可查看具体的性能分析报告

十、任务栏图标:

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

十一、感谢:

如果您觉得这个框架对您有用,您可以捐赠下我,让我有理由继续下去,非常感谢。

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

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

QQ官方交流群 126325132 软件测试开发交流群

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

AutomationTestSystem是一个多功能自动化测试系统,使用JavaFx编写的Windows应用程序,可用于Appium,Selenium,RestAssured等多框架的应用 展开 收起
Apache-2.0
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/hagyao520/AutomationTestSystem.git
git@gitee.com:hagyao520/AutomationTestSystem.git
hagyao520
AutomationTestSystem
AutomationTestSystem
master

搜索帮助

14c37bed 8189591 565d56ea 8189591