每次当我使用TESTNG注释@dataprovider或@Parameters时它都会跳过该方法。我的代码如下所述。 在此输入代码
package crossbrowser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class CrossTest
{
WebDriver driver;
@Test
@Parameters("browser")
public void crosstest1(String BrowserName)
{
if(BrowserName.equalsIgnoreCase("firefox"))
{
driver=new FirefoxDriver();
}
String baseUrl = "http://stackoverflow.com/questions/ask";
driver.get(baseUrl);
System.out.print("hello")
}
}
每次运行此代码时都会出现此错误
SKIPPED: crosstest1
org.testng.TestNGException:
Parameter 'browser' is required by @Test on method crosstest1 but has not been marked @Optional or defined
@DataProvider 也存在同样的问题。
上述代码的 XML 文件是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Test">
<parameter name="browser" value="firefox"/>
<classes>
<class name="crossbrowser.CrossTest"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
最佳答案
看到粘贴的 XML 文件下面的结束标记被写了两次
</test>
如果没有粘贴问题,那么它应该是 testng.xml 文件中的问题,因此请正确更新它。
谢谢你, 穆拉利
关于java - 每次跳过该方法时都使用 TestNG 符号,例如 @parameters 或 @dataprovider...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740413/