0
我想通過testNG.xml文件將參數傳遞給@BeforeClass方法,但是當我運行我的腳本時,腳本既沒有執行也沒有任何錯誤顯示在控制檯中,只是腳本被終止。不知道我哪裏錯了。請幫助我。如何通過testNG.xml文件將參數傳遞給@BeforeClass&@AfterClass方法
PS:當我用@BeforeSuite註釋,而不是@BeforeClass
預先感謝
以下腳本工作好是我的代碼片段:
BaseSetup.java
public class BaseSetup {
private WebDriver driver;
private String userdir = System.getProperty("user.dir");
private void SelectBrowser(String browsername){
switch(browsername){
case "GoogleChrome":
//initChromeBrowser();
break;
case "FireFox":
initFireFoxBrowser();
break;
default:
System.out.println("Wrong input");
}
}
private void initChromeBrowser(){
System.setProperty("webdriver.chrome.driver", userdir +"\\chromedriver.exe");
driver = new ChromeDriver();
launchApp();
}
private void initFireFoxBrowser(){
System.setProperty("webdriver.gecko.driver", userdir +"\\geckodriver.exe");
driver = new FirefoxDriver();
launchApp();
}
private void launchApp(){
driver.manage().window().maximize();
driver.get("https://www.google.co.in");
}
@Parameters({"browsername"})
@BeforeClass
public void LaunchBrowser(String browsername){
SelectBrowser(browsername);
}
}
以下是我的testNG.xml代碼
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SampleTestSuite">
<test name="SampleTest">
<classes>
<class name="com.pac.base.BaseSetup">
<parameter name="browsername" value="FireFox"> </parameter>
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
試試這個示例:HTTP://www.seleniumeasy.com/ testng-tutorials/parameterization-in-testng – kushal
它看起來是一個TestNG問題,我剛剛報告過它:https: //github.com/cbeust/testng/issues/1417 – juherr
謝謝Juherr&Kushal,同時還有什麼可以解決的呢? – user7836878