use*_*855 7 continuous-integration selenium webdriver sikuli jenkins
问题在于,Sikuli的图像识别功能仅在Sikuli测试的目标位于前景并且可以完全访问鼠标时才起作用.在其当前配置中,Jenkins项目永远不会从Windows从属节点的桌面上看到.
我现在的自动化测试套件的设置方式,仅使用selenium编写了大约30个测试.在最后的两个测试中,selenium启动了一个webdriver(目前是chromedriver但可以是firefox或IE)并导航到正确的页面,Sikuli从那里做了它的事情.两者都使用java语言绑定.
目前Sikuli似乎安装正确,但当要求点击通过将桌面与目标图像匹配而填充的screenRegions列表时,它会立即抛出NPE.
如何更改我的Windows 7 slave上的Jenkins设置以允许浏览器在前台启动,就像我从Windows 7开发机器运行它一样?
所以你有一个Sikuli工作的开发机器,以及Jenkins运行Sikuli的测试机器,它不起作用.
我有相同的设置(Sikuli测试人员/ Jenkins奴隶运行Windows 7).对我来说有用的是让测试机器运行VNC服务器,通过VNC登录测试人员帐户,并将Jenkins从站作为常规应用程序启动,而不是服务.我用过UltraVNC服务器.
据我所知,问题源于Windows的安全措施,这些措施旨在防止远程用户在没有您的情况下控制您的计算机.
如果您将Jenkins作为服务运行,则不会为其分配真正的桌面.脚本将运行,但(正如你所看到的)Sikuli实际上无法找到任何东西,因为它没有任何东西可供查看.(Selenium正在以编程方式检查页面内容,因此不介意页面实际上没有显示在任何屏幕上.)
您也可以运行Jenkins并让自己登录,并跳过VNC服务器.我想在没有显示器或键盘的情况下运行机器,但仍然可以控制.如果这也是您的目标,则无法使用远程桌面,因为它会在连接时分配新桌面,然后在断开连接时将其销毁.(所以Jenkins会在你看的时候工作,当你离开的时候会失败.非常令人沮丧!)
作为附带好处,如果你这样做,你可以通过VNC连接并观看Jenkins运行测试.
| 归档时间: |
|
| 查看次数: |
6479 次 |
| 最近记录: |