如何在UI事件之后检查刷新页面事件是否发生(例如,单击按钮) [英] How to check if refresh page event occurs or not after an UI event (ex. click on a button)

查看:108
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆