我的 Selenium 代码无法正确执行 keyPress + click 操作时遇到问题。
测试应该打开 jqueryui.com 链接并选择页面上的前 2 个 li 元素。
我正在使用 Selenium 2.23 和 Firefox 10。我的代码如下(我尝试了 4 种不同的方法让它工作但没有执行):
FirefoxProfile 配置文件 = 新的 FirefoxProfile();
profile.setEnableNativeEvents(true); WebDriver browser = new FirefoxDriver(profile); browser.get(" http://jqueryui.com/demos/selectable/ ");
列表元素 = browser.findElements(By.cssSelector("ol#selectable li"));
Actions a = new Actions(browser); a.keyDown(Keys.CONTROL) .moveToElement(elements.get(0)) .click() .moveToElement(elements.get(1)) .click() .keyUp(Keys.CONTROL) .build() .perform(); Keyboard keyboard = ((HasInputDevices) browser).getKeyboard(); keyboard.pressKey(Keys.CONTROL); List<WebElement> selectOptions = browser.findElements(By.cssSelector("ol#selectable li")); selectOptions.get(1).click(); selectOptions.get(3).click(); keyboard.releaseKey(Keys.CONTROL);
Actions builder = new Actions(browser);
builder.keyDown(elements.get(0), Keys.CONTROL)
.click(elements.get(0))
.click(elements.get(1))
.keyUp(Keys.CONTROL);
Action selectMultiple = builder.build();
selectMultiple.perform();
Robot robot = new Robot();
robot.delay(1000);
robot.keyPress(KeyEvent.CTRL_MASK);
elements.get(0).click();
elements.get(1).click();
robot.keyRelease(KeyEvent.CTRL_MASK);
browser.quit();
任何人都可以帮我提出其他建议吗?