我无法使用Katalon记录器单击带有CMD密钥的元素。可以在按下CMD键的同时单击两个不同的项目吗?
我尝试使用sendKeys,controlKeyDown,keyDown命令执行此操作,然后在第一个元素上调用Click Command,然后在第二个元素上调用Click Command。但是什么也没发生。
此外,如果我们可以使用CLICK元素A然后CMD + CLICK元素B进行模拟,那么对我来说就可以了。
答案 0 :(得分:0)
在Katalon Studio(而非录音机)中,切换到脚本模式:
现在您可以用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