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机器上运行。
答案 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);