如何在UI事件之后检查刷新页面事件是否发生(例如,单击按钮) [英] How to check if refresh page event occurs or not after an UI event (ex. click on a button)
本文介绍了如何在UI事件之后检查刷新页面事件是否发生(例如,单击按钮)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
得到以下代码:
driver.findElement(By.id("input_search")).click();
driver.findElement(By.id("input_search")).clear();
if(lower3 == true){
//read a line from a doc
document_path = "C:\\MyProject\\src\\harness\\lower_than_3"
FileInputStream fis = new FileInputStream(document_path);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
while((line = br.readLine()) != null){
//line is inserted into search field
driver.findElement(By.id("input_search")).sendKeys(line);
Thread.sleep(100);
//press search button- page should NOT refresh if string length for search is lower than three, NO search is performed
driver.findElement(By.cssSelector("div.btn-img.submit")).click();
//ASSERT OR VERIFY IF PAGE IS RELOADED OR NOT AFTER CLICK ON SEARCH BUTTON
NEED HELP
}
br.close();
}
搜索后,单击搜索按钮(从代码区域的第15行),然后单击执行,我想检查是否发生页面刷新事件.我不想刷新页面(有很多例子:))我只想检查页面是否刷新
After search click on search buton is executed (line 15 from code region) I want to check if page refresh event occurs. I DON'T WANT TO REFRESH PAGE (there are so mane examples with that :) ) I JUST WANT TO CHECK IF PAGE IS REFRESHED OR NOT
推荐答案
您可以使用以下任意一种解决您的目的:
You can use any of these to solve your purpose:
解决方案1: 执行搜索操作后,验证元素.
Solution 1: Verify an element after search action performed.
driver.findElement(By.id("input_search")).clear();
driver.findElement(By.id("input_search")).click();
//here write code to wait for an element available on search result page
try{
if(driver.findElement(By.id("search result page element")).isDisplayed() == true){
System.out.println("Search successful");
} catch (NoSuchElementFound ee){System.out.println("Search not successful");}
解决方案2: 使用Java脚本执行搜索操作后,检查是否已加载页面.
Solution 2: Check for page loaded or not after search action performed using java script.
driver.findElement(By.id("input_search")).clear();
driver.findElement(By.id("input_search")).click();
//here write code to wait for sometime around 10-20 seconds
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
String s = (String) jsExecutor.executeScript("var s1 = 'Search successful'; var s2 = 'Search not successful'; if(document.readyState === 'complete'){return s1;} else {return s2;}");
这两个代码段均已针对Google进行了测试.
Both the code snippet is tested for Google.
这篇关于如何在UI事件之后检查刷新页面事件是否发生(例如,单击按钮)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文