栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当硒中有Actions类时,为什么需要Robot类

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当硒中有Actions类时,为什么需要Robot类

机器人课

机器人类 在
java.desktop
模块的
java.awt
包中定义。此类用于处理与 Test Automation 相关的本机系统输入事件,需要控制 鼠标 和 键盘 。
Robot Class 的主要目的是促进Java平台实现的 自动化测试 。使用 Robot Class 生成输入事件不同于将事件发布到
Java AWT事件队列 或 AWT组件, 因为使用 Robot Class 事件是在平台的本机输入队列中生成的。举个例子
****
__

Robot.mouseMove
实际上将移动鼠标光标,而不仅仅是生成 Mouse Move Event
。

在这一点上值得一提的是,某些平台需要特殊的特权或扩展才能访问低级输入控件。如果当前平台配置不允许输入控制,则在尝试构造Robot对象时将引发AWTException。例如,如果
X服务器 不支持(或未启用) XTEST 2.2标准扩展 ,则 X-Window系统 将引发异常。

一个例子 :

Robot robot = new Robot();// Press keys using robot. A gap of of 500 mili seconds is added after every key pressrobot.keyPress(KeyEvent.VK_R);Thread.sleep(500);robot.keyPress(KeyEvent.VK_U);Thread.sleep(500);robot.keyPress(KeyEvent.VK_P);Thread.sleep(500);robot.keyPress(KeyEvent.VK_A);Thread.sleep(500);robot.keyPress(KeyEvent.VK_L);Thread.sleep(500);robot.keyPress(KeyEvent.VK_I);

动作课

Actions类是在
org.openqa.selenium.interactions 包中定义的,并且是 用户界面API ,用于在使用 Selenium 时模拟复杂的用户手势。虽然 测试自动化 通过
硒 ,你可以使用这个类,而不是直接使用键盘或鼠标。 Actions类 实现了 Builder模式 ,该 模式 可以构建一个
CompositeAction, 其中包含以下提到的方法调用指定的所有操作:

  • build()
  • click(WebElement target)
  • clickAndHold(WebElement target)
  • contextClick(WebElement target)
  • doubleClick(WebElement target)
  • dragAndDrop(WebElement source, WebElement target)
  • moveToElement(WebElement target, int xOffset, int yOffset)
  • perform()
  • sendKeys(WebElement target, java.lang.CharSequence... keys)

一个例子 :

Actions act = new Actions(driver);WebDriverWait wait = new WebDriverWait(driver, 10);WebElement electronics = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//li/a[@href='/electronics']")));act.moveToElement(electronics).perform();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号