运行 RobotFramework 在 VM (RDC) 上使用 Sikuli 库和 Jenkins 进行测试

Run RobotFramework tests with Sikuli Library with Jenkins on VM (RDC)

我有基于 RobotFramework 和 SikuliLibrary 的自动化测试,用于图像比较。我正在使用 Jenkins 在外部服务器 (VM) 上 运行 进行测试。 如果我打开 VM - 图像比较脚本有效。屏幕截图已创建。

如果我关闭 VM 会话并 运行 测试,就会出现问题。这是关键字 "Get Match Score":

的日志

INFO Could not find C:\Images\image.png INFO ${scoreFromImage} = 0.0

看起来,当 VM 会话未激活(打开)时,"Get Match Score" 无法从浏览器获取快照以进行比较。

有什么办法解决这个问题吗?

代码:

Compare Process Diagram Image [Arguments] ${ImageName} ${ImageScore} ${scoreFromImage} = Get Match Score ${ImagesDirectory}${ImageName}.png ${scoreToString} = Convert To String ${scoreFromImage} ${scoreNumberPrecision} = Get Substring ${scoreToString} 0 6 Run Keyword If ${scoreNumberPrecision} == ${ImageScore} Log Successful ELSE Log Fail

运行 可以在 VM 上进行 Sikuli 测试,但需要保持会话打开。我们无法在锁定的 PC 上 运行 Sikuli 脚本。当您关闭 VM 时,它会被锁定并且测试失败 运行。 Sikuli 需要图像进行比较和点击,如果会话被锁定,则没有图像,因此测试失败 运行。 那么我们如何克服呢? : https://support.smartbear.com/viewarticle/85926/

参考此 URL 进行设置。通过应用它,您可以 运行 sikuli 测试最小化 window VM。 (仍然无法关闭 WM window)

已解决:

VM 不得通过 "X" 按钮关闭。正确的方法: https://support.microsoft.com/en-us/kb/302801 我有 .bat 文件,其中包含 tscon.exe %SESSIONNAME% /dest:console,在 运行 之后 - VM 已正确关闭。 另外 "Jenkins slave jar" 必须是 运行ning.