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

时间:2015-06-25 14:05:04

标签: java linux selenium

action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build()在Windows上工作正常,但不适用于Linux。我正在使用selenium webdriver编写一个测试用例,我正在尝试选择所有用富文本框编写的文本并使用此代码片段执行select all命令。它在firefox 38浏览器上的Windows上工作正常但是当我运行时我的jenkins机器上的测试用例是一台linux机器,浏览器是firefox(不知道确切版本但是高于版本33)这个代码片段不起作用。我尝试了一些替代方法,如driver.findElement(By.cssSelector("body")).sendKeys(Keys.chord(Keys.CONTROL, "a"));并双击富文本框以选择其中写入的文本,但没有任何效果。这可能是为什么这些代码片段无法在Linux机器上运行。

1 个答案:

答案 0 :(得分:0)

我找到了我自己的问题的答案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);