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

  • 相关阅读:
    16 | 网络优化(中):复杂多变的移动网络该如何优化?
    Understanding Temporal Metrics
    Objective-C Runtime 大佬系列文章整理
    面向对象编程中的封装、抽象、继承、多态特性以及应用
    面向接口编程原理
    一次HTTP请求的完整过程——协议篇(DNS、TCP、HTTP)
    计算机网络 | 图解 DNS & HTTPDNS 原理
    CDN的加速原理是什么?
    让WKWebview支持NSURLProtocol总结
    WKWebView 请求拦截
  • 原文地址:https://www.cnblogs.com/saryli/p/6811771.html
Copyright © 2011-2022 走看看