a.数据驱动:从某个数据文件(odbc,csv,excel,txt)中读取输入输出的测试数据,然后通过变量传入手动测试脚本中,通过这些数据来验证测试数据
程序和数据分离,测试数据存放到一个文件中,脚本是另外一个文件
b.关键字驱动:从面向对象角度出发,同样业务逻辑编写成一个类或者函数作为关键字被不同的脚本调用
每个步骤对应文件中一行内容
c.DDT:官网参考:https://ddt.readthedocs.io/en/latest/
Data-Driven Tests缩写
包含类的装饰器ddt和两个方法装饰器:
data 直接输入数据
file_data 从文件中获取测试的数据
ddt.data 装饰测试的方法,参数是一系列的值
ddt.file_data 装饰测试方法,参数是文件名
ddt.unpack 传递的是复杂数据结构时候,比如元组字典,添加unpack之后,ddt会自动把元素或者列表对应到各个参数上
使用前必须安装好ddt模块:pip install ddt
#coding=utf-8 import unittest from selenium import webdriver from ddt import ddt,data,unpack,file_data import time @ddt class SearchDDT(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.implicitly_wait(10) self.driver.get("https://www.xx.com") # @data((‘java‘)) #1.直接传入参数 # @data((‘python‘),(‘java‘)) #2.传入多个参数 # @data({‘search_value‘:‘python‘},{‘search_value‘:‘test‘}) # @unpack @file_data(‘test.json‘) def test_search(self,search_value): search_text=self.driver.find_element_by_id(‘kw‘) search_text.clear() search_text.send_keys(search_value) self.driver.find_element_by_id(‘su‘).click() time.sleep(2) def tearDown(self): self.driver.quit() if __name__ == ‘__main__‘: unittest.main()
原文:https://www.cnblogs.com/yuxiaofeng/p/11915647.html