Можно ли использовать CMD + CLICK Element A + CLICK Element B - PullRequest
2 голосов
/ 28 мая 2019

Я не могу использовать регистратор Katalon, чтобы щелкнуть элемент с ключом CMD.Можно ли щелкнуть два разных элемента, пока нажата клавиша CMD?

Я попытался сделать это с помощью команд sendKeys, controlKeyDown, keyDown, а затем вызвал команду Click Command для первого элемента, а затем вызвал команду Click Command для второго элемента.,Но ничего не происходит.

Кроме того, если мы можем смоделировать с помощью CLICK Element A, тогда CMD + CLICK Element B, это может быть хорошо для меня.

1 Ответ

0 голосов
/ 28 мая 2019

В Katalon Studio (не записывающем устройстве) переключитесь в режим сценариев:

enter image description here

Теперь вы можете писать сценарии в Groovy!

Далее попробуйте использовать класс Actions, например:

WebUI.openBrowser("url of the page you are testing")

WebDriver driver = DriverFactory.getWebDriver() 

WebElement targetA = driver.findElement(By.cssSelector("element-a-selector"))
WebElement targetB = driver.findElement(By.cssSelector("element-b-selector"))

targetA.click()
Actions actions = new Actions(driver)

actions.keyDown(Keys.CONTROL).click(targetB).keyUp(Keys.CONTROL).perform()

Обратите внимание, что это ваш второй сценарий, сначала щелкните элемент A (вам нужно будет добавить селектор CSS или любой другой способего идентификации), затем удерживая клавишу CTRL и щелкая элемент B.

Первый (нажмите CTRL, щелкните элемент a, щелкните элемент b, отпустите CTRL) аналогичен, просто измените последнюю строку на:

actions.keyDown(Keys.CONTROL).click(targetA).click(targetB).keyUp(Keys.CONTROL).perform()

и удалите targetA.click().

Вам потребуется импортировать следующие вспомогательные классы Selenium:

import org.openqa.selenium.By
import org.openqa.selenium.Keys
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement as WebElement 
import org.openqa.selenium.interactions.Actions
...