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

  • 相关阅读:
    【CLR via C#】CSC将源代码编译成托管模块
    [转载]敏捷开发之Scrum扫盲篇
    UML图中经常用到几种的关系图例
    敏捷的12项原则,我们团队管理的方针
    JavaScript 记录页面停留时间-通过测试
    [转]Web App 框架选择之百度&腾讯
    c#,asp.net 开发 app 学习资料整理
    未能为数据库 '*'中得对象'*'分配空间,因文件组'PRIMARY'已满
    微支付开发过程中的注意点
    微支付的asp.net文档例子
  • 原文地址:https://www.cnblogs.com/saryli/p/6811771.html
Copyright © 2020-2023  润新知