Python教程

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

本文主要是介绍python + ddt数据驱动 之 一个参数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

案例:打开百度,进行搜索,查看搜索结果;
执行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()

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

这篇关于python + ddt数据驱动 之 一个参数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!