一条用例我们需要正向、逆向进行验证,需要输入多种测试数据并进行不同的断言
1、先新增一个测试数据list,list里面是字典,字典里是测试自动化时需要用到的参数
test_data = [
{
‘用例属性’:‘正向’,
‘测试数据’:‘测试数据1’,
‘期望结果’:‘测试数据1’
},
{
‘用例属性’:‘反向’,
‘测试数据’:’#@#KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲@’,
‘期望结果’:‘请输入中文、字母、数字或特殊符号*、-、_、#’
}
]
@ddt.ddt
class BaseModule(unittest.TestCase):
def setUp(self):
pass
def teatDown(self):
pass
@ddt.data(*test_data)
def test_1(self,用例属性,测试数据,期望结果):
#新增温度传感器
operation_meau = self.wb.find_element_by_id('dropdownMenu1')
operation_meau.click()
self.wb.implicitly_wait(3)
addid = self.wb.find_element_by_id('addId')
addid.click()
self.wb.implicitly_wait(3)
sensornumber = self.wb.find_element_by_css_selector('[id="sensorNumber"]')
sensornumber.send_keys(测试数据)
self.wb.implicitly_wait(3)
filterFactor = self.wb.find_element_by_xpath('/html/body/div[1]/div/div/form/div[2]/div/div/div[2]/div/select')
Select(filterFactor).select_by_index(1)
self.wb.implicitly_wait(3)
compensate = self.wb.find_element_by_xpath('/html/body/div[1]/div/div/form/div[2]/div/div/div[3]/div/select')
Select(compensate).select_by_index(0)
remark = self.wb.find_element_by_css_selector('[name="remark"]')
remark.send_keys(u"自动")
self.wb.implicitly_wait(3)
doSubmitsAdd = self.wb.find_element_by_id('doSubmitsAdd')
doSubmitsAdd.click()
time.sleep(2)
self.wb.implicitly_wait(3)
#判断新增是否成功
if 用例属性 == '正向':
sen = self.wb.find_element_by_css_selector('tr.odd:nth-child(1) > td:nth-child(4)').text
print(sen)
self.assertIn(sen,期望结果,msg='新增失敗')
elif 用例属性 == '反向':
tishi = self.wb.find_element_by_id('sensorNumber-error').text
print(tishi)
self.assertEqual(tishi,期望结果)