1
,我需要3度不同的環境中開發,QA和PROD運行相同的腳本。我在Selenium grid中啓動3個不同的遙控器,但是如何將不同的網站網址傳遞給這些實例?我需要一個實例到開發站點,另一個到QA,另一個到PROD。如何通過網站參數SeleniumGrid我使用<strong>C#</strong>,<strong>MbUnit的</strong>和<strong>硒電網</strong>實例
,我需要3度不同的環境中開發,QA和PROD運行相同的腳本。我在Selenium grid中啓動3個不同的遙控器,但是如何將不同的網站網址傳遞給這些實例?我需要一個實例到開發站點,另一個到QA,另一個到PROD。如何通過網站參數SeleniumGrid我使用<strong>C#</strong>,<strong>MbUnit的</strong>和<strong>硒電網</strong>實例
這是一個使用TestNG的示例。在你的單元測試文件/腳本,你就會有一些看起來像這樣:
public class LoginTest {
private static final HUB_URL = "http://theGridHubServer/wd/hub";
@Parameters({ "appUrl" })
public void loginTest(@Optional("http://theTestServer/login/") final String appUrl) {
// ... create RemoteWebDriver object/connections/capabilities here and execute test
}
並行執行它們,你需要配置一個TestNG的XML配置文件,這將是這個樣子:
<suite name="Login Test Suite" parallel="tests" verbose="1" thread-count="8">
<test name="Dev">
<parameter name="appUrl" value="http://theDevServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
<test name="QA">
<parameter name="appUrl" value="http://theTestServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
</test>
<test name="Prod">
<parameter name="appUrl" value="http://theProdServer/login"></parameter>
<classes>
<class name="package.to.your.test.class.LoginTest" />
</classes>
</test>
</suite>
然後你運行XML文件作爲TestNG的測試,並假設你有符合您定義的webdriver的能力,至少有三個webdriver的客戶端節點,這三個測試將被髮送到集線器,然後將發它們與客戶端節點並行,每個測試執行將使用不同的URL。
希望這會有所幫助!