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

之前都是只有一个页面,一个用例。这次两个页面。两个测试用例。其实界面自动化测试最大的难点在于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传进

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

原文地址:https://www.cnblogs.com/myal/p/9415856.html