action.keyDown(Keys.CONTROL).sendKeys( "a" ).keyUp(Keys.CONTROL).build() 适用于 Windows,但不适用于 linux



action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build()在windows上运行良好,但在linux上不起作用。我正在使用selenium webdriver编写一个测试用例,并尝试选择在富文本框中编写的所有文本,并使用此代码片段执行select all命令。它在firefox38浏览器上的windows上运行得很好,但当我在jenkins机器上运行测试用例时,这是一台linux机器,浏览器是firefox(不知道确切的版本,但高于33版本),这个代码片段不起作用。我尝试了一些替代方案,比如driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));和双击富文本框来选择其中写入的文本,但都不起作用。原因可能是什么,为什么这些代码片段不能在linux机器上工作。

我已经找到了我自己的问题action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build()driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL,"a")的答案;没有在Linux机器Firefox浏览器上运行,因为我的驱动程序工厂中没有启用本机事件。要启用本机事件,您需要在驱动程序工厂中编写以下代码,即在哪里创建所需的驱动程序

 FirefoxProfile profile = new FirefoxProfile();
    profile.setEnableNativeEvents(true);
    FirefoxDriver driver = new FirefoxDriver(profile);

相关内容

最新更新