关于PageObject模式进行自动化代码的编写:
PageObject简而言之理解就是:一个页面作为一个类,页面中所有的元素均作为类中的方法
当然PageObject也是一种分层思想。
以Python登录163邮箱举例:
BrowserDriver作为打开浏览器驱动的一个方式
Page是所有的页面组成的一个包
Testcase就是实际的测试用例
1、Page中存在一个基本的page类,所有的页面类都需要继承的类:这样写的好处就是元素一旦修改,UI界面发生变化,我仅需修改我的page就行,不影响我所有测试用例。
(1)base.py:
(2)Firstpage.py中继承了Page类:
在FirstPage中将测试用例中需要的元素全部以函数方法的形式写出来,下次使用这些元素直接调用即可。
2、浏览器操作:
BrowserDriver.py:指定需要操作的浏览器,如果我需要测试所有用例中的兼容性,我仅需要改driver即可,当然在用例中,所有的driver需要使用这个方法,而不是直接webdriver.xxx
3、编写用例:在以上准备好的时候,直接操作已经定义好的页面元素,无须再次定位
test_login_firstpage_case.py:
4、用discover和HTMLtestrunner批量搜索测试用例和生成测试报告