python + ddt数据驱动 之 一个参数

发布时间:2024年01月15日

案例:打开百度,进行搜索,查看搜索结果;
执行3条测试用例,分别搜索python,自动化测试,ddt data

不使用ddt数据驱动:

import unittest
import time
from selenium import webdriver

class Baidu(unittest.TestCase):
    def setUp(self):
        # 打开chrome浏览器
        self.driver = webdriver.Chrome()
        # 设置隐式等待10秒
        self.driver.implicitly_wait(10)
        # 设置窗口最大化
        self.driver.maximize_window()
        # 打开百度
        self.driver.get('https://www.baidu.com')

    def tearDown(self):
        # 强制等待2秒,查看效果
        time.sleep(2)
        # 关闭浏览器
        self.driver.quit()

    def test01(self):
        '''搜索 python'''
        # 在搜索输入框中输入 python
        self.driver.find_element_by_id('kw').send_keys('python')
        # 点击百度一下
        self.driver.find_element_by_id('su').click()

    def test02(self):
        '''搜索 自动化测试'''
        # 在搜索输入框中输入 自动化测试
        self.driver.find_element_by_id('kw').send_keys('自动化测试')
        # 点击百度一下
        self.driver.find_element_by_id('su').click()

    def test03(self):
        '''搜索 ddt data'''
        # 在搜索输入框中输入 ddt data
        self.driver.find_element_by_id('kw').send_keys('ddt data')
        # 点击百度一下
        self.driver.find_element_by_id('su').click()
if __name__ == '__main__':
    unittest.main()      

使用ddt数据驱动:

import unittest
import time
from selenium import webdriver
from ddt import ddt, data


@ddt    # 调用装饰类ddt
class Baidu(unittest.TestCase):
    def setUp(self):
        # 打开chrome浏览器
        self.driver = webdriver.Chrome()
        # 设置隐式等待10秒
        self.driver.implicitly_wait(10)
        # 设置窗口最大化
        self.driver.maximize_window()
        # 打开百度
        self.driver.get('https://www.baidu.com')

    def tearDown(self):
        # 强制等待2秒,查看效果
        time.sleep(2)
        # 关闭浏览器
        self.driver.quit()

    @data('python', '自动化测试', 'ddt data')    # 调用方法装饰器data
    def test01(self, value):
        '''分别搜索python,自动化测试,ddt data'''
        # 在搜索输入框中分别输入 python,自动化测试,ddt data
        self.driver.find_element_by_id('kw').send_keys(value)
        # 点击百度一下
        self.driver.find_element_by_id('su').click()


if __name__ == '__main__':
    unittest.main()

重点注释
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_49981930/article/details/122133979
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。