ui自动化框架-cls-self

Posted by tzwlwy's Blog on July 27, 2018

重新整理ui自动化的时候,套用了别人的框架,在他人基础上进行理解与改善 发现别人是用cls作为传递参数而不是以往我熟悉的self,经过了解,cls作为 传参可以改进以往一个case必须从登陆开始的运行习惯,1个case跑完,下一个 case可以在当前case下继续完善,这个不太适用于单元测试,但是单元测试可以 通过写一个公共方法,重新关闭或者直接切换浏览器运行,所以,我觉定此次ui 自动化通过传类来进行,部分代码如下

# coding=utf-8
import time
import unittest
from framework.browser_engine import BrowserEngine
from pageobjects.baidu_homepage import HomePage
import commen_method



class BaiduSearch(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        """
        主要是测试的前提准备工作
        :return:
        """

        self.browse = BrowserEngine()
        self.driver = self.browse.open_browser()

    @classmethod
    def tearDownClass(self):
        """
        测试结束后的操作,这里基本上都是关闭浏览器
        :return:
        """
        self.driver.quit()


    def test_baidu_search(self):
        """
        这里一定要test开头,把测试逻辑代码封装到一个test开头的方法里。
        :return:
        """
        homepage = HomePage(self.driver)
        homepage.type_search('selenium')  # 调用页面对象中的方法
        homepage.send_submit_btn()     #调用页面对象类中的点击搜索按钮方法
        time.sleep(2)
        homepage.get_windows_img()  # 调用基类截图方法
        print('test')
        try:
            assert 'selenium' in homepage.get_page_title()  # 调用页面对象继承基类中的获取页面标题方法
            print ('Test Pass.')
        except Exception as e:
            print ('Test Fail.', format(e))
    #
    def test_search2(self):
        homepage = HomePage(self.driver)
        homepage.type_search('python')  # 调用页面对象中的方法
        homepage.send_submit_btn()  # 调用页面对象类中的点击搜索按钮方法
        time.sleep(2)
        homepage.get_windows_img()  # 调用基类截图方法
        commen_method.tearDown(self.driver)



    def test_search5(self):
        self.driver.get('https://tzwlwy.github.io/')
        time.sleep(4)

    def test_search4(self):
        homepage = HomePage(self.driver)
        self.driver.get('https://www.baidu.com/')

        homepage.type_search('selenium')  # 调用页面对象中的方法
        time.sleep(5)
        assert 'selenium' in homepage.get_page_title()
        homepage.send_submit_btn()     #调用页面对象类中的点击搜索按钮方法


if __name__ == '__main__':
    unittest.main()