zoukankan      html  css  js  c++  java
  • unittest_使用参数化web自动化测试_parameterized

    #参数化库: parameterized 
    前提:先安装patameterized库  >>>python -m pip install parameterized
     
    from selenium import webdriver 
    import unittest
    from time import sleep
    from parameterized import parameterized
    class TestSearch(unittest.TestCase):
        
        @classmethod     #基于类级别只开启一次浏览器,执行当前目录下所有用例
        def setUpClass(cls):
            cls.dr = webdriver.Chrome()
            cls.base_url = 'https://www.baidu.com'
        
        @classmethod
        def tearDownClass(cls):
            cls.dr.quit()
        @parameterized.expand([
            ('case1','selenium','selenium_百度搜索'),
            ('case2','python','python_百度搜索'),
            ('case3','unittest','unittest_百度搜索')
        ])
        
        def test_search(self,name,searchkeys,assertResult):
            dr = self.dr 
            dr.get(self.base_url)
            dr.find_element_by_id("kw").send_keys(searchkeys)
            dr.find_element_by_id("su").click() 
            sleep(3)
            self.assertEqual(self.dr.title,assertResult)
        
        @unittest.skip("直接跳过")
        def test_selenium(self):
            self.baidu_search("selenium")
            self.assertEqual(self.dr.title,"selenium_百度搜索")
        @unittest.skip("直接跳过")  
        def test_python(self):
            self.baidu_search("python")
            self.assertEqual(self.dr.title,"python_百度搜索")
          



    if __name__ == "__main__":
        unittest.main(verbosity=2) #打印日志级别



    执行结果:

       
  • 相关阅读:
    C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!
    Java8的新特性以及与C#的比较
    点旋转坐标变换
    vc++返回模块路径
    为什么不要 "lock(this)" ? lock object 并是readonly(转载)
    《黄帝内经》要义
    C++多线程编程简单实例
    c++ 获取文件大小
    c# 获取文件夹大小
    自动驾驶仿真工具的下载与安装
  • 原文地址:https://www.cnblogs.com/xlzhangq/p/13199401.html
Copyright © 2011-2022 走看看