繁体   English   中英

如何在 GCP 中模拟 Windows VM 上的屏幕以进行 Electron 应用屏幕共享测试?

[英]How to emulate screen on Windows VM in GCP for Electron app screenshare test?

设置:

  • 围绕最新 WebdriverIO v.7 的测试框架
  • GCP 上的 Jenkins:主 - Ubuntu,从 - Windows 服务器 2022 VM。
  • Jenkins 主机和从机之间的连接是使用 GCP jenkins 插件完成的,因此正在创建 Windows 从机以进行测试然后死掉。
  • 正在测试的应用程序:基于 Electron v14.2.1 的应用程序。

测试 - “用户可以开始屏幕共享”

  1. 用户开始通话。
  2. 用户 select 可用屏幕并启动屏幕共享。

问题: Electron 库无法检测到可用于捕获和共享的屏幕,因为在测试 session 中没有打开 RDP 连接。

在测试日志中没有找到来源(屏幕):

2022-08-01 07:40:20:409 -00:00 | info | main-api-handler: - open-screen-picker-window - Properties: {
  "cmd": "open-screen-picker-window",
  "id": 1,
  "sources": []
}

问题:

  1. 如何模拟屏幕?
  2. 应该在哪里建立 RDP? 应该是?
  3. 除了 RDP 之外,还有其他方法可以为 Electron 应用程序提供屏幕吗?

我的同事解决了这个问题:

“所以这个问题的根本原因是 Jenkins 用来配置节点的 SSH 服务器作为服务运行,这意味着它与桌面应用程序交互存在问题。不幸的是,Windows 自己的 Z765553E6C7AC8592C389ACB987A 仅作为服务运行。这里的解释: 在 Windows 上通过 OpenSSH 启动 GUI 程序?

为了解决这个问题,我安装了一个单独的 SSH 服务器(来自 MSYS2 的 OpenSSH)。 机器映像被配置为在启动时自动登录,并且 sshd 在以当前登录用户身份登录时启动。 这使它可以访问桌面,并且屏幕共享测试现在似乎工作得更好了”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM