如何在Selenium Grid设置上运行AutoIT脚本?
我在所有计算机上都有.exe文件,但需要Selenium脚本来调用它才能在网格的每个节点上运行,这可能吗?
最佳答案
您的问题(在撰写本文时)对有关网格部署的特定测试设置不是很详细。因此无法提出确切答案,因为这取决于您的环境设置。
最简单的方法是使用PSExec.exe,telnet或SSH从测试执行计算机远程调用节点计算机上的AutoIt。下面给出了一个简单的示例,请注意,我尚未测试代码,但是在需要时应进行较小的调整。
String cmd = "C:\\LocalMachinePathTo\\psexec.exe \\\\%s -u %s -p %s -i C:\\GridNodeMachinePathTo\\autoit.exe";
Process p = Runtime.getRuntime().exec(String.format(cmd,gridNodeHostName,gridNodeWindowsLoginUserName,gridNodeWindowsLoginPassword);
p.waitFor();
这个简单的示例假定您使用网格节点机器的本机本地桌面(或控制台/头)会话来运行自动化测试,而不使用到网格节点的远程桌面会话。如果是后者,则需要在-i参数后为psexec.exe提供会话ID。您可以在此处找到有关PSExec.exe的更多信息:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
给出的代码是简单的示例,您可能希望添加其他逻辑来检查测试是在本地执行还是在网格上执行,如果在本地执行,则命令可以省略psexec的使用,而直接调用autoit.exe。
请阅读这些博客文章,以获取更多详细信息/了解如何使AutoIt与Selenium网格上的测试一起运行:
https://autumnator.wordpress.com/2015/01/22/integrating-autoit-sikuli-and-other-tools-with-selenium-when-running-tests-in-selenium-grid/
https://autumnator.wordpress.com/2011/12/22/autoit-sikuli-and-other-tools-with-selenium-grid/
关于java - 在Selenium Grid上运行AutoIT脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23345822/