如果任何步骤测试失败,如何将测试结果发送到testrail?

时间:2019-07-29 13:19:29

标签: python unit-testing selenium user-interface testrail

使用我们的公司框架发送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')

但是我不能在所有步骤中使用此方法,以防万一。

0 个答案:

没有答案