zoukankan      html  css  js  c++  java
  • unittest 参数化2--parameterized(虫师《selenium3自动化测试实战--基于Python语言笔记37》)

    parameterized是python的一个参数库,支持unittest,Nose,pytest单元测试框架

    1.安装parameterized(https://github.com/wolever/parameterized)

    DOS上直接输入: python -m pip install parameterized即可在线安装

     2.以百度搜索为例:

    import unittest
    from time import sleep
    from parameterized import parameterized
    from selenium import webdriver
    
    
    class TestBaidu(unittest.TestCase):
    
        @classmethod
        def setUpClass(cls):
            cls.driver = webdriver.Chrome()
            cls.base_url = "https://www.baidu.com"
    
        def baidu_search(self, search_key):
            self.driver.get(self.base_url)
            self.driver.find_element_by_id("kw").send_keys(search_key)
            self.driver.find_element_by_id("su").click()
            sleep(2)
    
        # 通过 parameterized实现参数化
        @parameterized.expand([
            ("case1", "selenium"),
            ("case2", "unittest"),
            ("case3", "paramenterized"),
        ])  # @parameterized.expand()来装饰测试用例
        def test_search(self, name, search_key):
            self.baidu_search(search_key)
            self.assertEqual(self.driver.title, search_key + "_百度搜索")
    
        @classmethod
        def tearDownClass(cls):
            cls.driver.quit()
    
    if __name__ == '__main':
        unittest.main(verbosity=2) # verbosity=2输出更详细的执行日志

    运行结果如下:

  • 相关阅读:
    Python基础之入门
    Python基础之语句语法
    Python基础之变量
    Nginx实现反向代理和负载均衡
    Nginx配置文件简述
    Nginx简介及环境搭建
    C#利用RabbitMQ实现消息订阅与发布
    C#利用RabbitMQ实现点对点消息传输
    RabbitMQ交换机类型简述
    Android
  • 原文地址:https://www.cnblogs.com/kite123/p/11561855.html
Copyright © 2011-2022 走看看