zoukankan      html  css  js  c++  java
  • Python+Selenium框架 ---一个类文件多个测试方法情况下测试固件的写法

     我们测试中,肯定需要,打开一个页面,然后测试这个页面的多个用例,才关闭这个页面,去测试其他页面,在unittest是有相关测试固件方法去支持这种行为。请看下面

    # coding=utf-8
    import time
    import unittest
    from framework.browser_engine import BrowserEngine
    from pageobjects.baidu_homepage import HomePage
    
    
    class BaiduSearch(unittest.TestCase):
        @classmethod
        def setUpClass(cls):
            """
            测试固件的setUp()的代码,主要是测试的前提准备工作
            :return:
            """
            browse = BrowserEngine(cls)
            cls.driver = browse.open_browser(cls)
    
        @classmethod
        def tearDownClass(cls):
            """
            测试结束后的操作,这里基本上都是关闭浏览器
            :return:
            """
            cls.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()  # 调用基类截图方法
            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()  # 调用基类截图方法
    
    
    if __name__ == '__main__':
        unittest.main()  
    

      

    运行一下,是不是,只需要打开和关闭浏览器一次,就执行了2个搜索用例?以后,项目中基本采用这种方法来执行同一个功能不同测试用例的编写。

  • 相关阅读:
    .Net动态生成RDLC报表(二)
    Gridview动态绑定
    Javascript中escape(), encodeURI()和encodeURIComponent()之精析与比较
    Hashtable简单应用
    Gridview模板列中textbox 按Enter切换到下一个textbox
    DataTable两列转换四列
    一:怎样运行python程序
    三:python 对象类型详解一:数字(上)
    八:python 对象类型详解四:字典
    六:python 对象类型详解二:字符串(下)
  • 原文地址:https://www.cnblogs.com/saryli/p/6811771.html
Copyright © 2011-2022 走看看