5

我正在与 Geb 一起对使用 ExtJS 呈现其大部分 UI 的 Web 应用程序进行自动化测试。我的情况是我需要按住 ctrl 并单击几个 ExtJS 生成的代表“类别”的表格单元格。我如何使用 Geb 来 ctrl-click 这些东西?

4

1 回答 1

3

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

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

然后 Actions 对象可用于添加控制单击操作:

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)
}
于 2012-12-31T17:51:33.627 回答