如何检查 UI 事件(例如单击按钮)后是否发生刷新页面事件

2024-04-02

得到以下代码:

 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 行),我想检查是否发生页面刷新事件。我不想刷新页面(有很多这样的例子:))我只是想检查页面是否刷新


您可以使用其中任何一个来解决您的目的:

解决方案一: 执行搜索操作后验证元素。

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 脚本执行搜索操作后检查页面是否已加载。

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 测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 UI 事件(例如单击按钮)后是否发生刷新页面事件 的相关文章

随机推荐

  • Laravel 视图缓存如何工作?

    根据 Laravel 的文档 https laravel com docs 5 3 blade introduction https laravel com docs 5 3 blade introduction 视图被编译成纯 PHP 代
  • MPMoviePlayerController 拍摄屏幕截图但仅显示黑屏

    我在播放 MPMoviePlayerController 时截取屏幕截图 完美保存屏幕截图 但图像只有黑色 我使用下面的代码 UIGraphicsBeginImageContext self moviePlayerController vi
  • 使用闪亮的 ggplot 地图获取正确的点击坐标

    我启动了一个带有 ggplot 世界地图的闪亮应用程序 我想获取绘图上点击的坐标 以便用户可以对地图进行操作 但坐标很奇怪 要么NULL或非常小的东西 重复点击似乎只会改变一个坐标 ui R library shiny Define UI
  • Java - 更改 JLabel

    我有一个名为 Keys java 的按钮类 它将按钮面板返回到名为 Control java 的类 我在 Control java 中有一个 JLabel 但我想做的是在按下按钮时更改 JLabel 你会怎样做呢 我尝试在 Keys jav
  • 是否可以在不安装VS的情况下运行CodedUI测试?如何?

    我想在测试机上运行我的编码 UI 测试 但我希望我可以避免在我的测试机上安装 VS2012 有什么办法可以做到吗 根据this http blogs microsoft co il shair 2015 04 08 automation r
  • 如何添加已经存在的db字段中的数据

    我正在尝试添加数据main storage表 但是当我保存记录时它显示错误 failed unsupported operand type s for DeferredAttribute and int In Main Storage pr
  • 查找将用户带到我的网站的引荐网址

    复制 查找上一页 URL https stackoverflow com questions 772780 finding previous page url 如何在 ASP NET 中找到将用户带到我的网站的引荐 URL 也可以看看 如何
  • 如何更快地解决欧拉项目#21?

    原始问题 令 d n 定义为 n 的真因数之和 小于 n 的数能被 n 整除 如果 d a b 且 d b a 其中 a b 则 a 和 b 是友好对 并且 a 和 b 中的每一个称为友好数 例如 220的真因数是1 2 4 5 10 11
  • iphone uipickerview:图像和文本

    是否可以在文本旁边添加图像 如图标 UIPickerView 我看到的例子UIPickerViews有两列 一列有图像 另一列有文本 这不是我需要的 我需要一个包含文本和图像的列 Thanks 您需要为选择器的每一行创建自己的视图 如果只是
  • 将 python 模块添加到 AzureML 工作区

    我最近一直致力于将机器学习模型部署为 Web 服务 我使用 Azure 机器学习工作室创建自己的工作区 ID 和授权令牌 然后 我训练了 LogisticRegressionCV 模型sklearn 线性模型在我的机器本地 使用 pytho
  • 地理距离 MySQL

    要搜索距给定位置最近的位置 请按距离排序 我应该使用浮动还是点 我应该预先计算 cos sin sqrt 的值吗http www movable type co uk scripts latlong db html http www mov
  • 如何获取UIBarButtonItem中心位置

    我正在做一些自定义视图控制器转换 我希望我的转换从按下的按钮的中心开始 For UIButton我可以 myCustomTransition startingPoint buttonPressed center 但如果我想使用UIBarBu
  • 性别表标准化是否太过分了?

    我不是数据库专家 但我正在尝试清理另一个数据库 所以我的问题是 性别表正常化会不会太过分了 User table userid int pk genderid char 1 fk etc gender table genderid char
  • 在jframe中创建java的正方形,矩形,三角形[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 Java 问题 据我了解 无法在 Java 中绘制几何图形 代码和以下内容您可以帮助我吗 这是代码 public class
  • Primefaces 在 onComplete/onClick 上运行 java 脚本

    我有一个 p command 按钮 如下所示
  • 在 Javascript 中通过 JSON 获取单个视频(而非 feed)的 Youtube 信息

    所以我试图通过 JSON 格式从单个 YouTube 视频中获取信息 比如标题描述类别 等等除了评论之外我能得到的任何东西 我正在尝试用 JavaScript 来做到这一点 我注意到下面的链接 但他们的所有示例都是如何从提要中获取视频信息
  • Android 8 通知设置声音不起作用

    我有以下代码 但每次我只听到默认的 android 声音 create channel NotificationChannel channel new NotificationChannel ANDROID CHANNEL ID ANDRO
  • 如何异步加载场景以便获得加载屏幕?

    我的场景加载可能需要一段时间 并且我希望能够显示加载动画 但是 一切都锁定了 有没有办法异步加载下一个场景并在准备好时获取回调 您可以使用以下命令安排并发执行块异步调度 https developer apple com library m
  • 文本(字体)在旧版 api 上看起来褪色

    我正在使用自定义字体 它在较新的 Android 版本上完美显示 在 API 17 Asus 选项卡 18 Dell 选项卡 19 Nex4 设备上测试 然而 相同的字体在旧版本 API 8 SE X10i 10 LG P500H 上看起来
  • 如何检查 UI 事件(例如单击按钮)后是否发生刷新页面事件

    得到以下代码 driver findElement By id input search click driver findElement By id input search clear if lower3 true read a lin