使用我们的公司框架发送testrail结果 api测试很容易 例子
rail = TestRail(project_id=23, debug=True, debug_run_id=484)
def test_payment_system(self):
payload = {"system": "qiwi"}
response = requests.get(urlpayment, params=payload, headers=self.beareradmin)
responseArray = response.json()
system = responseArray['items'][0]['payment_system']
if 'qiwi' in system:
rail.send_passed(21893, 'passed')
else:
rail.send_failed(21893, '')
所以我已经通过responseArray中的字符串'qiwi'进行了验证。
并将状态发送到测试导轨rail.send_passed(self, case_id,comment)
但是我在UI测试中有问题。
示例
def test_loginok(self):
self.browser.get(login)
self.getXpathElement(login_mail).click()
self.getXpathElement(login_mail).send_keys('auto@test.com')
self.getXpathElement(login_password).click()
self.getXpathElement(login_password).send_keys('qwerty')
self.getClassElement(button_sign_in).click()
self.getXpathElement("//li[contains(@class,'active')]//a")
如何验证测试是否通过?
在我的情况下,如果页面上存在self.getXpathElement("//li[contains(@class,'active')]//a")
,则测试通过。
我不知道如何创建“ if / else with rail.send_passed / failed”或其他情况来发送结果
如果在第2步self.getXpathElement(login_mail).click()
上测试失败,我不会将任何东西发送到testrail。
尝试
def check(self, xpath):
try:
self.find elem by xpath(xpath)
except NoSuchElementException
return False
Returne True```
As ```r = check("//li[contains(@class,'active')]//a")
if r == True:
rail.send_passed(case_id, 'comment')
else:
rail.send_failed(case_id, 'comment')
但是我不能在所有步骤中使用此方法,以防万一。