0

我想使用 testng + reportNG(均已安装)制作自定义报告

我正在编写 java 文件来运行选定的类,我正在使用 testNG api,但不知道如何调用它的方法并制作我自己的套件

我已经有运行所有八个 java 测试的 xml 文件 - suite_basic_links_working.xml 我想学习如何编写 java,而不是运行相同套件的 xml 文件!

    public class Suite_runner_tets_links {
    TestNG suite_for_testing_links ;
    @Test
    public void main() {
      suite_for_testing_links.setDefaultSuiteName("NAIMI.KZ selenium + testng report ");
      List <> some_classes_to_run[] = new ArrayList();

      some_classes_to_run.add("C:\\Users\\www\\ERJAN_NAIMIKZ_ALL\\erjan_2_naimikz_test\\erjan\\testNG\\links_test\\Onas_url_click_test.java");
      some_classes_to_run.add("C:\\Users\\www\\ERJAN_NAIMIKZ_ALL\\erjan_2_naimikz_test\\erjan\\testNG\\links_test\\Podbo_specialista_url_click_test.java");

      suite_for_testing_links.setTestClasses(some_classes_to_run);
      suite_for_testing_links.run();
    /*  
      TestNG tng = new TestNG();
      List suites = Lists.newArrayList();
      suites.add("c:/tests/testng1.xml");
      suites.add("c:/tests/testng2.xml");
      tng.setTestSuites(suites);
      tng.run();*/

  }
  @BeforeSuite
  public void beforeSuite() {
      suite_for_testing_links = new TestNG();
      System.out.println("here!!! "+suite_for_testing_links.getOutputDirectory()) ;
      suite_for_testing_links.setOutputDirectory("C:\\Users\\www\\ERJAN_NAIMIKZ_ALL\\erjan_2_naimikz_test\\erjan_custom_testng_report");
  }

  @AfterSuite
  public void afterSuite() {

  }

这是我在 Eclipse 中的目录,我想运行 2 个测试 - blog_url_click_test.java 和 logo_url_clik 测试。

ķ

4

1 回答 1

0

查看 TestNG 项目网站。 http://testng.org/doc/documentation-main.html 您可以轻松找到@Factory 示例,您可以在其中将所有测试类放入一个方法中,然后运行它。

public class WebTestFactory {

      @Factory
      public Object[] createInstances() {
       Object[] result = new Object[10]; 
       for (int i = 0; i < 10; i++) {
          result[i] = new WebTest(i * 10);
        }
        return result;
      }
    }

当您启动此代码时,您应该注意到对象初始化是随机的。如果你想建立一些层次结构,你需要阅读这个主题How to order TestNG Factory execution given a single method test and sortable test data?

于 2015-02-24T15:21:16.340 回答