Java 如何知道webDriver已成功打开URL
如何知道WebDriver在Java 如何知道webDriver已成功打开URL,java,selenium,selenium-webdriver,assert,Java,Selenium,Selenium Webdriver,Assert,如何知道WebDriver在driver.get(appURL)之后成功打开了URL?我可以看到它在浏览器中很好地打开。但我想以编程的方式确保。 嘿这里我询问driver.get(appURL)是否返回http响应之类的响应代码。或者我必须从网页中找到一个ID并找到它,然后做出结论,但这种方法似乎太原始了。我正在寻找更简单的解决方案。有人建议assertTrue,但Eclipse给出长时间错误的某些原因。最简单的方法是在您打开的url的页面标题上断言: String actualTitle =
driver.get(appURL)
之后成功打开了URL?我可以看到它在浏览器中很好地打开。但我想以编程的方式确保。
嘿这里我询问driver.get(appURL)是否返回http响应之类的响应代码。或者我必须从网页中找到一个ID并找到它,然后做出结论,但这种方法似乎太原始了。我正在寻找更简单的解决方案。有人建议assertTrue,但Eclipse给出长时间错误的某些原因。最简单的方法是在您打开的url的页面标题上断言:
String actualTitle = driver.getTitle();
String expectedTitle = "YourExpectedPage"; // replace with the expected page title
org.junit.Assert.assertTrue(expectedTitle.equals(actualTitle));
您可以等待一段时间,检查预期结果,然后检查当前url
String currentURL = null;
WebDriverWait wait = new WebDriverWait(driver, 10);
if(driver.findElement(By.xpath("//*[@id='someID']")).isDisplayed()){ //add id or xpath
currentURL = driver.getCurrentUrl();
System.out.println(currentURL);
}
每个浏览器都有一个默认错误页。对于我使用的chrome:
if(driver.findElement(By.xpath("//div[@class='error-code']")).isDisplayed()){
MessageBox.Show("chrome error page.");
}
用简单的语句试试这个
WebDriver driver=new FirefoxDriver();
driver.manage().window().maximize();
String baseUrl="https://stackoverflow.com/";
driver.get(baseUrl);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
if(baseUrl.equals(driver.getCurrentUrl()))
{
System.out.println("URLS are matching");
}else
{
System.out.println("URLS are not matching");
}
作为
最终用户
我们真的不必担心Web驱动程序
实例是否成功打开URL,因为一旦Web驱动程序
实例请求URL
,浏览器客户端就会打开网页/网站(默认情况下)返回文档。readyState
作为完成
返回到WebDriver
实例,然后执行下一行代码
但是,作为最终用户,我们也可以配置WebDriver
实例,以对DOM
的不同可用状态进行操作。目前,Selenium在以下三个不同阶段识别文档。readyState
:
无
-文档仍在加载中
eager
-文档是交互式的
正常
-文档已完成
因此,我们可以编写脚本来配置
实例,以根据您的要求进行响应。@并从Junit
库Assert.assertTrue
。更新了答案。请参阅:SO上的期望是,用户提出问题时不仅要进行研究以回答自己的问题,还要共享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:可能的副本