java - 如何使用 Geb 控制单击项目?

标签 java groovy webdriver geb

我正在与 Geb 合作,对使用 ExtJS 来呈现其大部分 UI 的 Web 应用程序进行自动化测试。我处于这样一种情况,我需要按住 Ctrl 键并单击几个 ExtJS 生成的表示“类别”的表格单元格。我如何使用 Geb 按住 Ctrl 键并单击这些东西?

最佳答案

要进行控制点击,我必须直接使用 firstElement 访问 WebDriver WebElement 对象:

def categoryItem = $("div.category-item-title", text: categoryName).firstElement()

然后 Actions 对象可用于添加控制点击 Action :

Actions actions = new Actions(driver)
actions = actions.keyDown(Keys.CONTROL)
actions = actions.click(categoryItem)
actions = actions.keyUp(Keys.CONTROL)
actions.perform()

请注意,此代码位于页面对象的实例方法中。

这是使用 erdi 提到的“交互”机制的相同代码:

interact {
    keyDown(Keys.CONTROL)
    click($("div.category-item-title", text: categoryName))
    keyUp(Keys.CONTROL)
}

关于java - 如何使用 Geb 控制单击项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104578/

相关文章:

Selenium/WebDriver 驱动 IE 的 XPath 解释

typescript - 如何在 TypeScript 中反射(reflect) Protractor (WebDriver) Action 的链接 (ControlFlow)

java - 使用struts 2标签检索ArrayList的元素而不使用s :iterate

java - 在 Eclipse 中运行动态 Web 应用程序时 Apache Tomcat 服务器不工作

grails - 使用复合ID时多个hasMany与同一个域类有关系的问题

java - WebDriver 中的隐式等待不会暂停执行

java - 如何使用 Java mongodb 驱动程序中的 "_id"字段查询文档?

java - 为什么将分钟添加到 1900-01-01 00 :00:00 results in a change in seconds?

unit-testing - 测试访问Item.constraints.xyz的类时,如何摆脱 “no such property”?

java - 比较两个 json 文件时忽略特定属性