python_ddt学习01

import unittest
from selenium import webdriver
import time
# import ddt
from ddt import data,ddt
'''
1.TestCase : 测试用例,所有的用例都是直接继承于它
2.TestFixture : SetUp 和 Teardown ,前置条件和后置条件,可用 @class将其装饰为类方法,则在类调用时会调用(否则会在每个用例执行时调用)
3.TestSuite : 测试套件
4.TestRunner : 测试运行器,一般和 测试套件配套使用
5.断言:
6.所有的功能测试函数都是以 test_ 开头
'''
@ddt  #装饰器来修改功能函数
class case001(unittest.TestCase):

    def setUp(self) -> None:
        print('用例开始执行')

    @data(('美国疫情'),('刘亦菲'),('素素'))
    def test_01(self,data):
        print(data)
        self.bro = webdriver.Chrome(executable_path='./chromedriver.exe')
        # self.driver = webdriver.Chrome()
        self.bro.get('https://www.baidu.com/')
        time.sleep(5)
        self.bro.find_element_by_id('kw').send_keys(data)
        time.sleep(5)
        self.bro.find_element_by_id('su').click()
        time.sleep(5)

    def tearDown(self) -> None:
        self.bro.close()
        print('用例执行结束')

使用读取文件方式

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

#读取文件来传参
def read_file():
    result = []
    with open('./info.txt','r',encoding='utf-8') as f:
        for li in f.readlines():
            result.append(li.strip())
    return result

@ddt  #装饰器来修改功能函数
class case001(unittest.TestCase):

    def setUp(self) -> None:
        print('用例开始执行')

    @data(('清纯妹妹'),('刘亦菲'),('素素'))
    def test_01(self,data):
        print(data)
        self.bro = webdriver.Chrome(executable_path='./chromedriver.exe')
        # self.driver = webdriver.Chrome()
        self.bro.get('https://www.baidu.com/')
        time.sleep(2)
        self.bro.find_element_by_id('kw').send_keys(data)
        time.sleep(2)
        self.bro.find_element_by_id('su').click()
        time.sleep(2)

    @data(*read_file())
    def test_02(self,text):
        # print(data)
        self.bro = webdriver.Chrome(executable_path='./chromedriver.exe')
        # self.driver = webdriver.Chrome()
        self.bro.get('https://www.baidu.com/')
        time.sleep(2)
        self.bro.find_element_by_id('kw').send_keys(text)
        time.sleep(2)
        self.bro.find_element_by_id('su').click()
        time.sleep(2)

    def tearDown(self) -> None:
        self.bro.close()
        print('用例执行结束')


if __name__ == '__main__':
    unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值