我使用以下断言来读取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);
如果验证得到的是“帐户已存在”,则测试用例失败,表明
xpath could not found //html/body/table[2]/tbody/tr/td/form/table/tbody/tr/td/font
我想捕获验证“帐户已存在”。
请为我提供一种方法来选择实际显示的验证
PS:我不想使用Screen Shot Capture方法
答案 0 :(得分:1)
请不要在html代码中使用过于字面的xpath,因为这样做会使测试变得脆弱并且很容易破坏(例如,如果dom的结构稍有变化)。
听起来像正确验证消息的xpath和“Account Already exists”消息是不同的......在html中元素的结构是什么样的?同样,您的xpath可能过于具体。你能提供更多信息吗?
答案 1 :(得分:0)
你的问题不是断言,事实上WebDriver无法找到它用xpath寻找的元素。
您应该寻找更好的方法来查找您正在寻找的元素,而不是使用此绝对XPath。验证错误中是否有任何元素具有您可以搜索的特定ID?如果您需要更具体的帮助,则必须发布HTML代码段。