数据驱动+自动化测试

自动化测试代码优化

setUp 在每个测试用例执行之前执行

tearDown 在每个测试用例执行完以后执行

所以,可以利用setUp,把测试用例中的通用代码提取出来,减少冗余

数据驱动测试:优化自动化测试

安装: pip install pyyaml

pip install ddt

1 在data中创建测试数据:格式为xxx.ymal

2 引入包from ddt import ddt, file_data

3 类名前 固定写法:@ddt

4 测试函数前引入数据文件 @file_data('../data/user_data.yaml')

括号里是数据的相对路径

5 通过**kwargs 把数据传入函数使用

import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from page_obj.register import Register
from ddt import ddt, file_data
# 注册
@ddt
class WindReg(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()

    def tearDown(self) -> None:
        self.driver.quit()

    # 用例:测试用户名是否合法
    @file_data('../data/user_data.yaml')
    def test01_username(self,**kwargs):
        reg = Register(self.driver)
        reg.open_web()
        username = kwargs['user']
        reg.input_username(username)
        reg.sleep(5)
        reg.click_btn()
        reg.sleep(5)
        tp = (By.XPATH, '//*[@id="J_reg_tip_username"]/span')
        span = reg.locator(tp)
        class_con = span.get_attribute('class')
        self.assertEqual(kwargs['msg'],class_con)

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

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 全套资料获取方式:点击下方小卡片自行领取即可

 

你可能感兴趣的:(软件测试,程序员,接口测试,自动化测试,数据驱动,测试工程师)