簡體   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