首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么边缘/Selenium在从承载节点的Windows 10虚拟机断开连接时抛出错误?

为什么边缘/Selenium在从承载节点的Windows 10虚拟机断开连接时抛出错误?
EN

Stack Overflow用户
提问于 2018-06-25 18:39:28
回答 1查看 588关注 0票数 1

我很难建立一个支持Selenium测试的可伸缩解决方案。首先,Edge不能作为Windows服务运行。其次,一次只能在一台机器上运行一个边缘测试实例。第三,当使用虚拟Windows 10机器承载节点和边缘时,当远程桌面会话断开时,测试就会失败。

以下是断开到Windows 10虚拟机的远程桌面连接(但用户仍然登录到VM)时发生的错误:

结果消息:初始化方法SeleniumTests.LeftNavigationTests.Init抛出异常。System.InvalidOperationException: System.InvalidOperationException:由于窗口当前不可用,窗口大小操作失败。

只有当远程会话未激活时,才会出现此问题。连接时测试运行良好。

有没有人见过这个问题,发现过它的一条路?任何帮助都将不胜感激!

系统信息:

  • Windows 10虚拟机:版本10.0.15063构建15063
  • Microsoft Edge 40.15063.674.0
  • 微软EdgeHTML 15.15063
  • Microsoft驱动程序: 15063
  • 硒: 3.12.0
  • Selenium节点正在Windows 10 VM的控制台窗口中运行。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 11:05:59

看起来这就是Edge目前的设计方式。当桌面处于非活动状态时,浏览器不再以相同的方式工作。就像在生命周期中进入活动内存的应用程序一样。

我发现的唯一解决办法是运行一个批处理文件,使您的会话处于活动状态,同时将您踢出远程会话,就好像另一个用户试图启动一个新的远程会话一样。以下是批处理文件的内容。

代码语言:javascript
复制
Create a batch file with this code called DisconnectRDP and run as administrator:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
  %windir%\System32\tscon.exe %%s /dest:console
)
Create a desktop shortcut to this file. To do this, right-click the batch file and select Send to | Desktop (create shortcut).
In the shortcut properties, click Advanced and select Run as administrator.

如果桌面锁定有问题,可以尝试更改注册表中的下列设置。

  1. 打开注册表(对regedit执行本地Windows搜索)
  2. 导航到注册表中的以下文件夹: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  3. 将AutoAdminLogon设置为1
  4. 如果需要,设置DefaultDomainName
  5. 设置DefaultUserName
  6. 创建DefaultPassword并酌情设置

另一个问题是Edge似乎一次只支持一个Selenium会话。这使得扩展测试变得非常困难。

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

https://stackoverflow.com/questions/51029959

复制
相关文章

相似问题

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