xuwangcheng14 发表于 2018-10-17 17:05:50

基于PageModel模型的UI自动化测试框架

MasterYI UI Test Framework易大师UI自动化测试框架当前版本:0.0.1beta码云地址:https://gitee.com/xuwangcheng/MasterYI-UI-Test-Framework项目介绍第一次尝试自己写完整的UI自动化框架,可能某些地方考虑不周全,希望对此框架后续开发有兴趣的朋友大牛们进QQ群 468324085 一起交流学习,加群验证: 易大师。基于PageMode模型进行测试代码编程的UI自动化测试框架,元素定位、业务逻辑、测试数据分离。
底层由selenium-java框架支持,使用yaml文件定义元素定位和用例执行规则。在开发过程中参考了以下优秀的自动化测试框架的某些思路或思想,在此感谢:
[*]Sweetest-小而美的自动化测试框架
[*]Bee-有赞测试团队开发的自动化测试框架
[*]同时感谢功能强大的java工具包 Hutool
框架中使用的大都数工具方法都由Hutool工具包封装,建议有兴趣的小伙伴自行阅读Wiki,在框架扩展和脚本编写中可以省去很多精力和时间: http://hutool.mydoc.io/环境要求系统: windows
jdk >= 1.7
浏览器: chrome >=68
ide: Eclipse你需要了解以下知识:
[*]java编程基础
[*]自动化测试框架selenium
[*]yaml
快速开始通过以下简单的百度搜索示例来了解该框架如何使用:
[*]Clone框架代码到本地
[*]导入到eclipse中为Maven项目
[*]在项目根目录下的config/element目录下新建baidu.yaml,在此文件中定义相关页面元素的定位规则:
https://images.gitee.com/uploads/images/2018/1015/180007_24b29a9a_431003.png
[*]在com.dcits.test包下新建包baidu.data、baidu.page、baidu.usecase,分别表示测试数据、测试页面、测试用例
https://images.gitee.com/uploads/images/2018/1015/180218_95d5645e_431003.png
[*]在page包下新建两个PageModel类,类名需要同baidu.yaml中定义的页面名称相同,同时需要继承BasePage类,如下:
https://images.gitee.com/uploads/images/2018/1015/180431_2ba9cc4c_431003.png
[*]分别在两个PageModel类中定义相关的PageElement对象,对象名称也需要同baidu.yaml定义的元素名称相同:
https://images.gitee.com/uploads/images/2018/1015/180623_faf66970_431003.png https://images.gitee.com/uploads/images/2018/1015/180638_790245b7_431003.png
[*]在PageModel类中定义相关业务方法,如上图
[*]在usecase包下新建Baidu的测试类,新建baidu搜索的测试方法,同时在方法上加上UseCase注解
https://images.gitee.com/uploads/images/2018/1015/180917_84cb0c5e_431003.png
[*]如图所示,右键Run运行Baidu测试用例
https://images.gitee.com/uploads/images/2018/1015/183344_c4b9926d_431003.png
[*]下图为测试日志,在根目录下的report目录下会生成一个html报告
https://images.gitee.com/uploads/images/2018/1015/183457_58884c3c_431003.pnghttps://images.gitee.com/uploads/images/2018/1015/183522_f7f12f20_431003.png

海海豚 发表于 2018-10-17 17:19:55

谢谢分享~
页: [1]
查看完整版本: 基于PageModel模型的UI自动化测试框架