我有一个使用LeanFT自动化工具(使用Java)的自动化测试项目。 这些测试涵盖了Web应用程序的UI流程。
Jenkins作业每晚在远程从属RDP VM上执行这些测试。
我意识到测试有时会失败,但是找不到确切的原因。 经过调查,我发现如果最后登录虚拟机的用户的分辨率与1920 X 1080不同(例如,使用具有不同本机分辨率的笔记本电脑登录),则测试失败。
我在测试中使用LeanFT VRI方法(可视关系标识符)来标识没有ID的对象,这意味着根据DOM中的其他对象(在x / y轴上最近)来标识对象。因此,这显然与屏幕分辨率有关。
我的问题是: 无论最后的登录分辨率如何,如何确保测试以所需的屏幕分辨率开始? 我假设我需要一种使用Jenkins参数来覆盖现有分辨率或在测试项目中添加一些代码行的方法,以支持分辨率不同于1920 x 1080的情况。
答案 0 :(得分:0)
假设我们在这里谈论的是Windows OS,则可以通过调用一些WinAPI函数来实现。
如this answer中所述,您可以使用:
- EnumDisplayDevices找出可用的显示
- EnumDisplaySettings来获取显示器可用分辨率的列表。 3。ChangeDisplaySettings设置所需的分辨率。
要使用Java调用这些函数,可以使用Java Native Access (JNA)。正如他们所说:
JNA的权威参考(包括概述和使用细节)在JavaDoc中。请阅读overview。 [...]您可能会发现更容易找到StackOverflow上已解决问题的答案。