• 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。

  • 相关阅读:
    redis的间隔性速度慢的问题
    centos增加静态路由
    排查问题的一些基本命令
    laradock
    python之sqlalchemy基本
    ssl证书之certbot
    mysql 多实例
    模块和包
    异步
    WSGI
  • 原文地址:https://www.cnblogs.com/myal/p/9415856.html
Copyright © 2020-2023  润新知