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

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

当硒中有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();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5500325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存