当前位置: 首页 > 面试题库 >

Sikuli,在Jenkins上进行硒测试:允许浏览器在前台启动,就像我在开发机上运行它一样?

冯育
2023-03-14
问题内容

问题在于,Sikuli的图像识别功能仅在Sikuli测试的目标位于前台并且可以完全访问鼠标时才起作用。在当前配置下,Jenkins项目从Windows从属节点的桌面永远看不到。

现在,我当前的自动化测试套件的设置方式是,仅使用硒就可以编写约30个测试。在最后的两个测试中,selenium启动一个webdriver(当前是chromedriver,但可以是firefox或IE)并导航到正确的页面,Sikuli从那里开始。两者都使用Java语言绑定。

当前,Sikuli似乎已正确安装,但是当要求其单击通过将桌面与目标图像匹配而假定填充的screenRegions列表时,它将立即引发NPE。

我如何更改Windows 7从属设备上的Jenkins设置,以允许浏览器在前台启动,就像从Windows 7开发机运行它时那样?


问题答案:

因此,您拥有一台可以在Sikuli上运行的开发机器,以及一台Jenkins在其中运行Sikuli的测试机器,但它不起作用。

我有相同的设置(运行Windows 7的Sikuli测试器/
Jenkins从属)。对我有用的是让测试机运行VNC服务器,通过VNC作为测试者帐户登录,并将Jenkins从属设备作为常规应用程序而非服务启动。我使用了UltraVNC服务器。

据我所知,问题源于Windows的安全措施,旨在 防止 远程用户在您不在的情况下控制您的计算机。

如果您将Jenkins作为服务运行,则不会分配真正的桌面。该脚本将运行,但是(如您所见),Sikuli实际上将无法找到任何内容,因为没有内容可供查看。(Selenium正在以编程方式检查页面内容,因此不介意该页面
实际上 未显示在任何屏幕上。)

您也可以只运行Jenkins并保持登录状态,然后跳过VNC服务器。我想在没有显示器或键盘的情况下运行机器,但是仍然可以控制。如果这也是您的目标,则不能使用远程桌面,因为它会在连接时分配一个新的桌面,然后在断开连接时销毁它。(因此,詹金斯会在您观看时工作,而在您过夜时会失败。非常令人沮丧!)

作为附带的好处,如果您以此方式进行操作,则可以通过VNC连接并在Jenkins进行测试时观察它。



 类似资料:
  • 本地:- 我正在尝试在chrome浏览器上运行硒测试。 当前,另一个chrome浏览器正在运行,然后通过打开新配置文件在chrome browser上运行测试,并得到以下错误:- Chrome驱动配置:- 如果我关闭现有的正在运行的chrome浏览器,然后在chrome浏览器上运行硒测试,它可以工作。 詹金斯:- 当我试图在詹金斯上跑步时。我收到以下错误:- 这里的问题是什么,有人能帮我解决这个吗

  • 我已经创建了一个测试套件,使用数据提供商数据工厂和我的TestNG文件发送浏览器详细信息作为参数。在testNG XML中,我调用我的数据工厂类。我也在使用浏览器堆栈进行测试(尽管我怀疑这与我遇到的问题有关) 当我不向testng文件添加parrelell=“true”时,测试运行没有任何问题。 我有一种感觉,这与每个浏览器使用的是同一个驱动程序有关,但我目前无法解决这个问题。 感谢您的指导。 这

  • 当我运行Codeception测试时,有时在验收测试中,浏览器启动太晚,测试不会等待它启动,并且在浏览器启动之前通过的测试会出现错误: [连接异常]无法在http://127.0.0.1:4444/wd/hub.连接到网络驱动程序请确保Selenium服务器或PhantomJS正在运行。 #1 Codeception\Subscriber\Module- #2D:\path\Yii\basic\v

  • 在本节中,我们将学习如何在IE浏览器上运行Selenium测试脚本。 Internet Explorer使用Internet Explorer驱动程序服务器实现WebDriver协议。 Internet Explorer驱动程序服务器是Selenium和Internet Explorer浏览器中的测试之间的链接。 下面来看看一个测试用例,尝试在IE浏览器中自动化测试以下场景。 启动IE浏览器。 打

  • 主要内容:Gecko Driver是什么?在本节中,我们将学习如何在Firefox浏览器上运行Selenium测试脚本。在继续本节之前,先来了解一下Gecko Driver的基础知识。 Gecko Driver是什么? Gecko一词指的是由Mozilla基金会开发的Gecko浏览器引擎,它用作为Mozilla浏览器的一部分。 Gecko Driver是Selenium和Firefox浏览器中测试之间的链接。 它充当W3C WebDriv

  • 在本节中,将学习如何在Chrome浏览器上运行Selenium测试脚本。 Chrome浏览器使用名为 的可执行文件实现WebDriver协议。此可执行文件在系统上启动服务器,而该服务器又负责在Selenium中运行测试脚本。 考虑一个测试用例,在Google Chrome浏览器中自动执行以下测试方案。 启动Chrome浏览器。 最大化浏览器。 打开URL:www.yiibai.com 向下滚动浏览