1

使用我们公司的框架发送测试结果通过 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')

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

4

0 回答 0