我在使用java的windows中编写了webdriver + TestNG脚本。现在需要在UNIX服务器上运行相同的脚本,而不需要修改代码。我听说过在无头浏览器中运行测试,但我不知道这么多。我搜索了很多,但没有明确而简单的回应来开始研究这个问题。在unix服务器上运行基于java的webdriver脚本
是否可以将驱动程序实例更改为htmlunitdriver并在unix环境中运行相同的驱动程序?我怎样才能创建测试作为一个包,并转移到unix环境来运行脚本?
我在使用java的windows中编写了webdriver + TestNG脚本。现在需要在UNIX服务器上运行相同的脚本,而不需要修改代码。我听说过在无头浏览器中运行测试,但我不知道这么多。我搜索了很多,但没有明确而简单的回应来开始研究这个问题。在unix服务器上运行基于java的webdriver脚本
是否可以将驱动程序实例更改为htmlunitdriver并在unix环境中运行相同的驱动程序?我怎样才能创建测试作为一个包,并转移到unix环境来运行脚本?
您可以通过对驱动程序实例创建进行少量更改来运行现有脚本。假设您正在使用Firefox驱动程序进行测试,那么您可以使用虚拟显示器Xvfb(Xvfb是可以在没有显示硬件且没有物理输入设备的计算机上运行的X服务器)以无头模式运行脚本。
下面是运行在无头的模式下你的测试步骤:
Xvfb :99 -screen 0 1024x768x24 &
Xvfb Manual然后创建一个使用虚拟显示Firefox的驱动程序实例在步骤2中启动,如下所示:
FirefoxBinary fb = new FirefoxBinary(); fb.setEnvironmentProperty("DISPLAY", ":99"); WebDriver driver = new FirefoxDriver(fb,null);
现在您的脚本将以无头模式运行。您可能需要更改其他一些东西,如测试数据的路径或使用Windows文件系统的任何其他参考(如C:\)
感谢Surya的回复。如果这是我期待的方法,我将从这些信息开始并回复 – 2014-11-05 09:51:59