基于WEBUI自动化项目企业实战经验总结搭建的属于自己的一套自动化开发脚手架。
技术框架选用Robot Framework用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,提供跨平台支持。通过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员创建易读的测试。
脚手架模版不仅在设计上根据实战做了项目的层级设计,同时在开发效率和示例也做了一些常用示例的演示,RF框架采用关键字驱动开发方式,使其不懂代码也可以迅速上手开发写属于自己的自动化代码。
接口可以引入第三方RequestsLibrary库,FTP操作可以引入第三方FTP Library库,浏览器操作可以引入第三方Selenium2Library库,文件操作可以引入框架内置库OperatingSystem库,Collections库,String库,数据库操作可以引入第三方Database Library库。
详细可以参考RF框架_常用内置关键字库和第三方库介绍程:
https://blog.csdn.net/qq3399013670/article/details/106445014
脚手架模版结构定义清晰,可扩展性好。配置文件与测试用例测试场景分离,初始化引入等设计使其后期易维护。
1、本地开发环境适用搭建的anaconda虚拟环境,python版本为:3.7.6
# 数据库安装库
pip install robotframework-databaselibrary
pip install pymysql
# 浏览器安装库
# 注意web自动化,还需要相应的浏览器驱动
pip install robotframework-selenium2library
# 接口测试安装库
pip install requests
pip install robotframework-requests
# 图像识别库
pip install robotframework-sikulilibrary
2、自定义测试库:
搭建可以参考RF框架_anaconda虚拟环境安装及使用教程:
https://blog.csdn.net/qq3399013670/article/details/106292687
本地开发工具适用ride编辑器。
搭建可以参考RF框架_RF框架_开发工具RIDE介绍:
https://blog.csdn.net/qq3399013670/article/details/106444199
1、使用SikuliLibrary库注意事项
则本地需要安装Java JDK1.8版本以上环境。如果在自己项目中不需要使用,则去除SikuliLibrary库的引用即可。
2、使用自定义测试库
将已有的自定义测试库MyLibrary放在python安装目录lib\sit-packages下。【项目目录AutoTester\testdesign有备份】
3、自定义监听器使用
在RIDE中使用。参数如下所示:
--listener TestCaseListener:所在部门名称-测试战队:2:lt
(1)--listener TestCaseListener 为固定写法
(2)参数以冒号分割:必填参数为前两位分别对应:战队:测试类型:执行者(不填则默认为automation)
监听器官网文档:
AUTO-WEB-UI: 放置WEB-UI自动化UI脚本源码
testdata:放置EXCEL用例或测试数据
testdesign:存放自动化系统数据结构和开发设计文档
testimg:存放系统截图
测试场景库设计下层目录为单场景和多场景:
单场景:将测试用例库调试好的用例抽取为关键字,然后根据ATDD驱动开发组装为单场景
多场景:将单场景抽取为关键字,然后将单场景组装为多场景
测试用例库
单步骤:根据需求抽取单个步骤功能
测试用例:根据系统菜单划分层级,调试测试用例。
使用Ride工具引入到UI层级。如图所示
将监听器参数按监听器规则写入Arguments参数选项框,如下示例:
点击Report即可查看运行的详细报告,示例如下:
以下为脚手架整理的全部资料,供参考,如需详细资料及技术支持,请加个人微信号
微信号:
资料部分截图如下所示:
#### 支持
该项目是个人基于Airtest搭建的模块框架,如果你发现了新的 bug请新建一个 issue,欢迎指正。如果对你有帮助,给个 star 哟👏👏
#### 捐赠
如果觉得还不错,请作者喝杯咖啡吧 ☺
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。