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

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

在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):
        self.type(self.ww,'selenium')

    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(self)

    def test_new(self):
        '''搜索selenium'''
        baidu = BaiduPage(self.driver)
        baidu.click_new()
        new = NewPage(self.driver)
        new.type_ww()
        new.click_wr()
        new.quit()

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

entrance.py文件代码如下

import testsuites.test_baidu
import testsuites.test_baidu_new
import unittest

if __name__ == "__main__":
    suite = unittest.TestSuite()
    suite.addTest(testsuites.test_baidu.test_baidu('test_baisu'))
    suite.addTest(testsuites.test_baidu_new.test_baidu_new('test_new'))
    runner = unittest.TextTestRunner()
    runner.run(suite)

我这边执行成功,在百度搜索完了之后关了浏览器,然后开始执行新闻搜索的用例。

这些测试用例还不是最完善的,因为一般都需要断言判断执行结果,并日志输出断言结果及换行,让日志输出的给方便阅读,现在日志都是连在一起的。

猜你喜欢

转载自www.cnblogs.com/myal/p/9415856.html