首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >远程桌面、Selenium和SendKeys: WebDriver服务器在60秒后超时

远程桌面、Selenium和SendKeys: WebDriver服务器在60秒后超时
EN

Stack Overflow用户
提问于 2019-04-10 22:40:16
回答 2查看 415关注 0票数 0

我有一个Selenium测试,当作为Jenkins作业的一部分在vSphere中托管并通过RDP管理的节点上运行时,该测试将失败。测试是使用IE11运行的。

经过一些故障排除后,如果远程桌面被连接并聚焦,它将成功,但如果远程桌面断开连接或甚至最小化,则会失败,并出现异常:

代码语言:javascript
复制
OneTimeSetUp: OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:56095/session/817b36df-a1b5-484e-b205-d4a0bac8002a/element/0cfa6678-2104-4bc6-bb71-e6d8eac507fb/value timed out after 60 seconds.
  ----> System.Net.WebException : The operation has timed out

失败的那一行:

代码语言:javascript
复制
textboxElement.SendKeys("foo").Perform();

作为一种变通方法,我通过vSphere控制台而不是RDP登录,然后即使在关闭vSphere之后,测试也不再失败。这是一个变通办法,但我必须小心,永远不要通过RDP登录,并且始终只通过vSphere控制台进行管理。

所以我的问题是:

  • 在某种程度上与RDP会话不兼容,这是否与在Selenium中使用SendKeys()的替代方案相关?
EN

回答 2

Stack Overflow用户

发布于 2019-04-11 00:50:29

当您在没有任何UI环境绑定到进程的情况下执行selenium脚本时,Chrome窗口的大小可能与您使用RemoteDesktop登录时执行它时的大小不同。

在失败的命令之前,尝试在selenium脚本中显式设置窗口大小。1)尝试一些小的宽度/高度,并在脚本通常成功的地方执行它,看看会发生什么。2)设置一些较大的值,然后在Jenkins上执行它,在那里它通常会失败。

票数 0
EN

Stack Overflow用户

发布于 2019-04-11 04:02:24

找到罪魁祸首- InternetExplorerOptions中存在导致问题的标志RequireWindowFocus = true。在删除它之后,我不再得到错误。这可能与https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5431有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55615331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档