如何在运行时获取参数的不同值?

时间:2017-05-18 06:36:59

标签: java selenium-webdriver parameter-passing testng

我需要使用主题阅读电子邮件,并且在3个不同的场景中在运行时传递对主题的值。

  1. 在CSV文件中执行触发带@Test主题的电子邮件的操作 - class1.java
  2. 在@Parameters功能 - class2.java
  3. 中执行触发带主题的电子邮件的操作
  4. 主题值直接从属性文件中读取 - selenium.properties。
  5. 我能够从class1和属性文件中读取主题内容。现在,我想读取从XML文件传递的@Parameter值。

    以下是我目前的代码。

    $ ionic cordova run <platform> <options>
    

    Class1&amp; 2包含@Test方法,在执行时会触发邮件。但是,上面的方法是在helper类中,它不包含@Test注释。

    请帮助我阅读方案2中的主题值。

1 个答案:

答案 0 :(得分:0)

基本上,答案在testng docs

中给出

如果您对参数使用简单值,则可以在testng.xml中指定它们:

@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) {
  System.out.println("Invoked testString " + firstName);
  assert "Cedric".equals(firstName);
}

在此代码中,我们指定Java方法的参数firstName应该接收名为first-name的XML参数的值。此XML参数在testng.xml中定义:

<suite name="My suite">
  <parameter name="first-name"  value="Cedric"/>
  <test name="Simple example">
  <-- ... -->