我们可以将 XML 文件中的参数传递给 @beforesuite 方法吗?

Can we pass parameters from XML file to @beforesuite method?

我们可以将 XML 文件中的参数传递给 @beforesuite 方法吗?

TestNG.xml 文件

<suite name="Suite" verbose="1"> 
 <test name="Selenium_TestFF">
 <parameter name="Browser" value="Firefox"/>
   <classes>
      <class name="testcases.TestSuiteOne"/>
    </classes>
  </test>
  <test name="Selenium_TestC">
    <parameter name="Browser" value="Chrome"/>
    <classes>
      <class name="testcases.TestSuiteOne"/>
    </classes>
  </test>
  <test name="Selenium_TestIE">
    <parameter name="Browser" value="InternerExplorer"/>
    <classes>
      <class name="testcases.TestSuiteOne"/>
    </classes>
  </test>
</suite> 

@BeforeSuite 方法接收参数 'Browser' 被调用

@Parameters({"Browser"})
@BeforeSuite
public void Setup(String Browser){
    System.out.println(Browser);
    driver = getDriver(Browser);    
}

谢谢

@BeforeSuite 将无法从 <test> 上下文中查看参数。 但是如果你在 <suite> 中配置 <parameter> 它应该可以工作(这不符合你的需要)。

要达到预期效果,只需将 @BeforeSuite 替换为 @BeforeTest。它会在 <test>.

打开一个新的不同浏览器一次