Java 使用testng的跨浏览器和测试套件

Java 使用testng的跨浏览器和测试套件,java,maven,selenium,automation,testng,Java,Maven,Selenium,Automation,Testng,我想在一个浏览器中执行所有测试用例(我使用testng和maven来执行测试用例)我实现了@BeforeSuite和@AfterSuite一切正常,但问题是当我想在testng.xml中添加一个参数“browser”时,错误是: 方法testBeforeSuite上的@Configuration需要参数“browser”,但尚未标记为@Optional或已定义 在F:\workspace\my app\browser.xml中 我有下一个testng.xml 我只希望参数browser仅应用于

我想在一个浏览器中执行所有测试用例(我使用testng和maven来执行测试用例)我实现了
@BeforeSuite
@AfterSuite
一切正常,但问题是当我想在testng.xml中添加一个参数“browser”时,错误是:

方法testBeforeSuite上的@Configuration需要参数“browser”,但尚未标记为@Optional或已定义 在F:\workspace\my app\browser.xml中

我有下一个testng.xml

我只希望参数
browser
仅应用于TestConfig,而不应用于其他测试用例 我尝试使用以下内容修改我的testng.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="com.mycompany.app.TestConfig"/>
    </classes>
  </test> 

  <test name="Test2">
    <classes>
      <class name="com.mycompany.app.TestOrder"/>
      <class name="com.mycompany.app.TestDatabase"/>
    </classes>
  </test> 
</suite> 

但同样的错误也会显示出来。 我在testng中查找了exclude参数,但没有找到任何内容
有没有办法只针对一个测试用例使用参数浏览器运行一套测试用例?(仅用于配置)

根据信息猜测,我认为您的
testBeforeSuite
方法需要browser参数。 您是否尝试将参数应用于套件而不是测试?

你好,我是库马尔。 您已经在testng.xml中声明了参数 但是您应该读取testng文件中的参数名和值。 在testng文件中,必须使用@parameters注释 公开课考试 { @参数(浏览器) @试验 公共void运行测试(字符串值) { 网络驱动程序; if(value.equals(“firefox”)) { 驱动程序=新的FirefoxDriver(); } }
}为您的beforesuite输入代码