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个搜索用例?以后,项目中基本采用这种方法来执行同一个功能不同测试用例的编写。

  • 相关阅读:
    MySQL中的MRR和BKA
    MySQL中的BNL优化器
    MySQL中索引
    MySQL中的两种排序方式: index和filesort
    设计模式之观察者模式
    设计模式之策略模式
    设计模式之模板方法
    java和JavaScript的区别
    HTML 简介--from app (W3)
    与代码同行-五年计划
  • 原文地址:https://www.cnblogs.com/saryli/p/6811771.html
Copyright © 2011-2022 走看看