2012-07-12 65 views
1

我有一个硒网格设置与集线器在CI(jenkins)服务器上运行。每当我建立和詹金斯运行我的项目也未能执行:Selenium webdriver脚本无法在IE 8中执行sendkey()时从jenkins运行它

WebElement inputElement = driver.findElement(By.xpath("//a[contains(@href,\"/Case/Add")]")); 

inputElement.sendKeys(Keys.ENTER); 

或者更确切地说,硒认为它没有和即selenium.select("id=LifeOffice", "label=AMP");

移动到下一个命令节点分别运行不同的虚拟机浏览器,并且只有在IE 8浏览器上执行脚本时才会出现此问题。当我从我的IDE运行脚本时很好。

我一直在使用click();((JavascriptExecutor)driver).executeScript("arguments[0].fireEvent('onclick');",inputElement);试过,我仍然有同样的问题...

回答

2

这听起来很奇怪,但尝试采取在页面上活脱脱SendKeys命令后。如果该元素是外面只是内部视,几乎触及边界,this might have happened to you

从来没有的元素焦点,因为它隐藏在浏览器的滚动条/状态栏/一块页,涵盖的背后它。通常IE会将元素滚动到视口并将其聚焦,但有时候,在边缘情况下,它不会。然后在statusbar/scrollbar/blank页面上调用focus(或点击或任何其他)调用。

解决方法?我只知道大约两个:

  • 更改计算机的分辨率/窗口大小/ IE布局(使它全屏,或禁用工具栏等)
  • 确保您永远不变的分辨率/窗口大小等。而在这些边缘情况与纯JavaScript工作:

    ((JavascriptExecutor)driver).executeScript("arguments[0].click()", inputElement); 
    
+0

我有一个非常类似的经历。奇怪的是它发生在Jenkins服务器和我的IDE中。在本地,调整窗口大小使问题消失。在服务器上,我还调整了浏览器窗口的大小,希望它会改变默认行为。但在同一时期,我也重新启动了Jenkins服务器和运行应用程序的服务器,所以它可能是导致问题停止的一些组合。 – 2013-10-10 08:40:45

相关问题