【问题标题】:action.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build() works on windows but doesn't work on linuxaction.keyDown(Keys.CONTROL).sendKeys("a").keyUp(Keys.CONTROL).build() 适用于 windows 但不适用于 linux
【发布时间】:2015-06-30 00:48:30
【问题描述】:

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

【问题讨论】:

  • 我想我不会在这里得到答案。来这里取笑菜鸟的恶霸都在哪里。他们为什么不站出来为问题提供解决方案

标签: java linux selenium


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 1970-01-01
相关资源
最近更新 更多