在方法setUp上@Configuration需要参数'browserType'获取错误

时间:2016-10-08 09:56:45

标签: java xml selenium testng

我正在尝试将浏览器类型作为我的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

Parameter 'google' is required by @Configuration on method setUp but has not been marked @Optional or defined

另外,我尝试在testng xml中将参数放在套件级别。

但没有任何好处。对此问题的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

将测试作为testng套件运行,然后您将不会收到错误。右键单击testng.xml然后选择run as&#34; TestNG&#34;套件。