美文网首页
解决Windows Slave调起exe时无交互界面显示的问题

解决Windows Slave调起exe时无交互界面显示的问题

作者: shyingsheng | 来源:发表于2018-07-30 12:14 被阅读0次

          首先我们在Jenkins windows节点(slave)上跑windows batch command是调用*.exe文件时会出现“Process leaked file descriptors. Seehttps://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptorsfor more information”问题。

          感谢谷歌上提供的一些方案解决了process leak的问题。(https://blog.csdn.net/wangbin0016/article/details/41948171)

          然后又发现,Jenkins工程起来后,exe文件也被调起来在跑了,但是exe会去调起一些交互式界面窗口,实际窗口没有被调起。

    尝试如下解决方案,Jenkins slave的windows服务属性里,有一个“允许服务与桌面交互”的选项。

    图1 图2

    勾选了此选项后,交互界面是在一个新的桌面里呈现,而且一直会有一个java的cmd窗口,无法关闭。那么我们的自动化界面测试会去截取交互界面的截图,并对比结果,如果存在其他的窗口会使自动化测试用例失败。

    所以得解决这个问题。于是用了如下的解决方案,你计划任务的方式来吊起jenkins slave agent。

    图3
    图4

    批处理文件内容如下例子:

    "C:\Program Files\Java\jdk1.8.0_162\bin\java.exe" -jar "C:\Users\Administrator\Downloads\agent.jar" -jnlpUrl http://10.5.139.103:8888/jenkins/computer/10.5.139.110(Test)/slave-agent.jnlp -secret 1471e29b6be7207xxxx -workDir "D:\jenkins"

    这样,再跑jenkins 工程时,exe文件执行时,会调起交互式界面。

    大功告成!

    相关文章

      网友评论

          本文标题:解决Windows Slave调起exe时无交互界面显示的问题

          本文链接:https://www.haomeiwen.com/subject/tnmxvftx.html