之前都是只有一个页面,一个用例。这次两个页面。两个测试用例。其实界面自动化测试最大的难点在于driver的传递,需要保持唯一性。另外就是断言的难点。

修改之前的BaiduPage,新增部分代码

from Selenium_lesson.framework.Base_Page import BasePage
class BaiduPage(BasePage):
kw = ['id','kw']#搜索输入框
su = ['id','su']#搜索按钮
new = ['link','新闻'] def type_kw(self,value):
self.type(self.kw,value) def click_su(self):
self.click(self.su) def click_new(self):
self.click(self.new)

在pageobject文件夹下新增baidu_new_page.py文件,代码如下。

from framework.Base_Page import BasePage
class NewPage(BasePage):
ww = ['id','ww']
wr = ['id','s_btn_wr'] def type_ww(self,value):
self.type(self.ww,value) def click_wr(self):
self.click(self.wr)

在testsuites文件夹下新增test_baidu_new.py文件。代码如下

import unittest
from framework.Base_Page import BasePage
from pageobject.baidu_new_page import NewPage
from pageobject.BaiduPage import BaiduPage
class test_baidu_new(unittest.TestCase):
'''百度新闻''' def setUp(self):
bro = BasePage(self)
self.driver = bro.open_browser() def test_new(self):
'''搜索selenium'''
baidu = BaiduPage(self.driver)
baidu.click_new()
new = NewPage(self.driver)
new.type_ww('selenium')
new.click_wr()
if __name__ == '__main__':
unittest.main()

在创建页面实例的时候,一定要把self.driver传进

python3+selenium框架设计08-进一步实现POM-LMLPHPpython3+selenium框架设计08-进一步实现POM-LMLPHP

我这边执行成功,打开了百度首页,点击新闻,跳转到了新闻页面,然后搜索了selenium。

05-11 15:39
查看更多