ENV: Seleniuim網絡驅動程序,TestNG的是,Eclipse,Java的1.8org.testng.TestNGException:參數 '瀏覽器' 要求通過@Configuration的方法MethodSetup
我有一個測試。我可以從testng套件中運行它(右鍵單擊suite> run as> testng suite)。如果我直接運行測試(右鍵單擊測試>運行爲> TestNG的測試),我得到一個錯誤:
org.testng.TestNGException: Parameter 'browser' is required by @Configuration on method MethodSetup but has not been marked @Optional or defined in C:\Users\m\AppData\Local\Temp\testng-eclipse--1694993462\testng-customsuite.xml
BaseTest:
public class BaseTest {
protected WebDriver driver;
@Parameters ({"browser"})
@BeforeMethod
protected void MethodSetup(String browser){
System.out.println("method set up");
driver = Browsers.getDriver(browser);
}
//....
}
測試:
public class LoginTest extends BaseTest{
@Parameters({ "browser" , "ch" })
@SuppressWarnings("deprecation")
@Test
public void positiveLoginTest(){
String expectedPageTitle = "Seeker Dashboard - Profile";
String Expectedprofilename = "md";
//...
}
TestNG的套件:
<suite name="TestAll">
<test name="ie1">
<parameter name="browser" value="ch"/>
<classes>
<class name="com.dice.LoginTest">
<methods>
<include name="positiveLoginTest"/>
</methods>
</class>
</classes>
</test>
</suite>
我不確定如果我能夠關注你。我右鍵單擊項目>屬性>瀏覽模板XML文件中的XML文件>單擊應用。當我運行特定的測試時,仍然會出現相同的錯誤。 XML文件運行得很好。 – learn4ever
只需從* .xml文件運行testclass(右鍵單擊* .xml - > Run)即可。參數化測試無法直接運行 –
@Drupol當您使用eclipse作爲單個測試進行觸發時,testng套件級參數僅用於創建自定義testng套件。所以你需要在你的測試標籤之外聲明你的參數。否則,您需要通過右鍵單擊您的xml文件,然後單擊作爲testng套件運行。 –