我在使用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