我正在尝试将浏览器类型作为我的testng xml中的参数传递给我的Base Test类。 以下是XML文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<test name="SampleTest-nogrid-ff" preserve-order="false">
<parameter name="browserType" value="ff"/>
<classes>
<class name="Test.classes1.SomeTest"/>
</classes>
</test></suite>
以下是我的Base测试Java类,它使用browsertype参数来实例化webdriver:
@BeforeClass
@Parameters({"browserType"})
public void setUp(String browserType) throws IOException {
if (browserType.equals("ff")) {
System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
driver = new FirefoxDriver();
driver.manage().window().maximize();
} else if (browserType.equals("chrome")) {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\11111\\AppData\\Local\\Google\\Chrome\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
} else if (browserType.equals("ie")) {
System.setProperty("webdriver.ie.driver", "C:\\Users\\11111\\AppData\\Local\\Microsoft\\Internet Explorer\\IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
ieCapabilities.setCapability("ensureCleanSession", true);
driver = new InternetExplorerDriver(ieCapabilities);
driver.manage().window().maximize();
} else {
System.setProperty("webdriver.firefox.bin", "C:\\Users\\111111\\AppData\\Local\\Mozilla Firefox31\\Firefox.exe");
driver = new FirefoxDriver();
driver.manage().window().maximize();
}
}
在运行时,我收到的错误是:
参数'browserType'是方法setUp上@Configuration所必需的,但尚未标记为@Optional或已定义
我已按照标准确保其符合并检查以下解决方案: How to use testNG @Parameters in @BeforeSuite to read resource file
另外,我尝试在testng xml中将参数放在套件级别。
但没有任何好处。对此问题的任何帮助将不胜感激。
答案 0 :(得分:0)
将测试作为testng套件运行,然后您将不会收到错误。右键单击testng.xml然后选择run as&#34; TestNG&#34;套件。