5

私はGebと協力して、ExtJSを使用してUIの多くを表示するWebアプリケーションのテストを自動化しています。「カテゴリ」を表すExtJSで生成されたいくつかのテーブルセルをCtrlキーを押しながらクリックする必要がある状況にあります。Gebを使用してこれらのものをCtrlキーを押しながらクリックするにはどうすればよいですか?

4

1 に答える 1

3

コントロールクリックを行うには、firstElementを使用してWebDriverWebElementオブジェクトに直接アクセスする必要がありました。

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」メカニズムを使用した同じコードを次に示します。

interact {
    keyDown(Keys.CONTROL)
    click($("div.category-item-title", text: categoryName))
    keyUp(Keys.CONTROL)
}
于 2012-12-31T17:51:33.627 に答える