0

我使用以下断言来读取 POM 中的验证消息,但有时测试用例可能会给出不同的验证消息,这会使 TestCase 失败,如果测试用例失败,我想获得该验证消息,以便我可以轻松调试

     // Assert whether Account Created Successfully or Not

    WebElement element = driver.findElement(By.xpath("//html/body/table[2]/tbody/tr/td/form/table/tbody/tr/td/font"));
    String strngAcc = element.getText();
    System.out.println(strngAcc);
    Assert.assertEquals("    Account Information Created Successfully", strngAcc); 

如果 Validation 是 "Account Already exists" ,则测试用例失败,表明

xpath could not found //html/body/table[2]/tbody/tr/td/form/table/tbody/tr/td/font

我想捕获该验证“帐户已存在”。

请为我提供一种方法来选择实际显示的验证

PS:我不想使用 Screen Shot Capture 方法

4

2 回答 2

1

请不要在 html 代码中使用过于字面化的 xpath,因为这样做会使您的测试变得脆弱并且很容易中断(例如,如果 dom 的结构发生了一些变化)。

听起来正确的验证消息和“帐户已存在”消息的 xpath 是不同的......元素的结构在 html 中是什么样的?同样,您的 xpath 可能过于具体。你能提供更多信息吗?

于 2013-11-01T04:57:35.530 回答
0

您的问题不是断言,而是 WebDriver 无法使用该 xpath 找到它正在寻找的元素。

您应该寻找更好的方法来找到您正在寻找的元素,而不是使用这个绝对的 XPath。验证错误的任何元素是否具有您可以搜索的特定 ID?如果您需要比这更具体的帮助,则必须发布 HTML 片段。

于 2013-10-31T20:05:55.953 回答