哈喽,艾瑞巴蒂,小编又在一个新的周二和大家见面了,言归正传“PPAP”到底是个啥呢?请继续往下看吧
一、理解下“PPAP”
第一个P
Page Objects
第二个P
第三个A
查看全部↓
二、Page Object(今天讲解的重点)
1. 如何理解Page Object
Page object是一种在测试自动化中非常流行的设计模式,它用于增强测试维护和减少代码复制。每当需要与该页面的UI交互时,测试就使用此类对象的方法。好处是,如果UI对页面进行更改,则测试本身不需要更改,只需要修改测试用例中的代码。随后,支持新UI的所有更改都位于一个位置。 Page Object设计模式提供以下优点 ●有测试代码和页面的具体代码如定位器之间的完全分离(或如果你使用一个UI布局图)。 ●页面提供的服务或操作只有一个存储库,而不是分散在测试中的这些服务。 |
2.如何设计代码结构
Data:测试数据。后期准备把代码中会所有测试数据都整合xml内; PO:所有基础类; Public:一些公共的方法,比如测试报告脚本,封装好的 Result:测试结果,包括测试报告和截图 TestCase:测试用例都放这儿 run_case:测试套件,利用HTMLTestRunner.py,输出测试报告到/Result下 |
3.如何完善后续代码
●Base内重新封装的是基础的Webdriver方法和一些测试用例有需要的公用方法,PO内的其他Page都是继承自Base;
●在DashPge中实现Driver调用,目标是只在Base内定义好Driver,指定好端口,所有测试用例共用一个Driver,直接在测试用例内调用;
●直接在Page内封装整个业务流程的方法,测试用例中代码量会少很多;
简单说明下:
(1)场景:登录业务
(2)Page内:a.输入用户名 b.输入密码 c.点击登录按钮;A.登录方法(包含abc)
(3)测试用例内: 1.直接调用Page的A;2.顺序调用Page的abc
●通过测试套件去驱动HTMLTestRunner生成测试报告,并且加入了截图功能