如何使用断言selenium/TestNG/Java在提交表单后检查是否在正确的页面中



这是我的场景"我正在提交表格,一旦我提交了它的导航到页面调用WebTable。我想在提交表格后确认现在是不正确的页面";

如何使用断言进行检查?请帮助selenium/Java/TestNG

根据我的经验,您基本上有两种选择。

  1. 等待URL包含您使用driver.getCurrentUrl()所期望的内容
  2. 等待只会出现在下一页上的特定元素

如果您还没有为执行重试而构建的类,则可以使用FluentWait。

单击表单后,您将使用Webdriverwait等待元素显示。您提取当前URL,并使用值进行检查并断言它。

submitBtn.click();
WebDriverWait(driver,10).until(ExpectedConditions.visibilityOfElementLocated(By.id("etc")));
expectedUrl = driver.getCurrentUrl();
Assert.assertTrue(expectedUrl.equals("something"));

Selenium为这种类型的验证提供了良好的实践,FluentWait:

FluentWait fluentWait = new FluentWait(webDriverBPO).withTimeout(Duration.ofSeconds(20)).pollingEvery(Duration.ofSeconds(1)).ignoring(NullPointerException.class);

在最后一次操作之后,您所要做的就是等待URL包含您的期望值:

fluentWait.until(ExpectedConditions.urlContains("your URL or keyword from URL"));

您也可以尝试等待新页面中的任何元素,但URL加载速度比内容加载速度快,因此您将节省一些时间(因为您不需要执行任何其他验证(。

相关内容

最新更新