机器人类 在
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();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)