【问题标题】:TestNG how to iterate through different excel sheets from a source sheetTestNG如何从源表中迭代不同的excel表
【发布时间】:2016-06-02 17:28:40
【问题描述】:

专家您好:我正在使用 Selenium Webdriver 和 TestNG。我的数据源是一个包含多个测试数据表的 Excel 工作簿。该工作簿还有一个汇总表,其中包含每个测试数据表的 SheetName。

使用 TestNG,有没有办法从摘要表中获取 SheetName 并处理工作簿中的每个测试数据表?

例如:

  • 从摘要表中,选择第一个 sheetName(比如 sheet1)
  • 运行 sheet1 中的所有 testData
  • 从摘要表中,选择下一个 sheetName(比如 sheet2)
  • 运行 sheet2 中的所有 testData
  • 等等,直到摘要表中的最后一个表名

感谢大家的帮助。

【问题讨论】:

    标签: selenium-webdriver testng


    【解决方案1】:

    这是我的第一个解决方案,它使用工厂遍历我的摘要表实例化类,以解析每个相应工作表中的测试记录。 嗯 - 我仍然想知道是否有更好的方法来执行相同的操作。

    ALSO - 我还在班级中使用了一个 STATIC 成员,因为我想在由工厂实例化的类

    这是脚本,以防有一天它可以帮助某人或更好。

    public class FactoryMethod {
        @Factory(dataProvider="dataSuite")
        public Object[] createInstances(int id, String TestSuite) {
            return new Object[] {new FactoryMethodClass(id, TestSuite)};
        }
    
        @DataProvider(name="dataSuite")
        public static Object[][] dataSuite() {
            Object[][] dataArray = {{1, "TEST SUITE 1"},{2, "TEST SUITE 2"}};
            return dataArray;
        }
    }
    
    public class FactoryMethodClass {
        private static int SHAREDcounter = 1000;
        private int id = 100;
        private String TestSuite = "";
    
        public FactoryMethodClass(){}
    
        public FactoryMethodClass(int id, String TestSuite) {this.id = id; this.TestSuite = TestSuite;}
    
        @DataProvider(name="dataRecords")
        public static Object[][] dataPro() {
            Object[][] dataArray = {{1, "TEST RECORD 1"}, {2, "TEST RECORD 2"}, {3, "TEST RECORD 3"}};
            return dataArray;
        }
    
        @Test (dataProvider="dataRecords")
        public void firstDataPro(int id, String TestRecord) {
            System.out.println("Running Test Record " + TestRecord  + " of Test Suite " + TestSuite + " with Value = " + SHAREDcounter++);
            Assert.assertTrue(true);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2017-02-09
      • 2016-09-29
      • 2019-10-01
      • 2013-10-09
      相关资源
      最近更新 更多