Tag: testng dataprovider

如何从csv文件中将参数传递给testng中的数据提供者

我从csv文件读取数据,我测试了这个数据将作为输入。 我希望它作为每组价值的测试用例运行。 因为我正在使用数据提供程序问题是,它只占用最后设置的数据行,请帮我调试代码 For eg : if my csv has following data name1 id1 text1 name2 id2 text2 name3 id3 text3 它只取最后一行name3 id3 text3并且只运行一次测试一次不是三次。 @DataProvider(name = “test”) public Object[][] provider( ) throws InterruptedException { Object[][] returnObject ; String[] checkpoint = ReadfromCSV(); count = count + 1; returnObject = new Object[][]{checkpoint }; return returnObject; } @Test(description […]

针对大量网站运行相同的测试

我需要针对70多个网站运行相同的测试,这些网站function相同,但皮肤不同。 但是,它们都通过不同的URL访问。 使用TestNG和Java,将URL传递给测试的有效方法是什么,以便我可以:a)针对每个站点运行每个测试并报告相同的b)并行执行测试以节省时间(未来需要) 我希望将URL存储为一种格式,以便它可以向最终用户公开并由它们配置。 理想情况下,这将在.csv中,或者在testng.xml文件中。 我在考虑@DataProvider或@Factory,但我不确定如何以有效和可维护的方式使用这些来从外部源获取参数,或者在我当前模型中哪些方法最适合放置? 我遇到的困难是我不想将数据必然传递到@Test,而是一次传递一个值(一个url)并针对所有@Test注释方法运行。 我目前的简单设置如下: testngxml: 我的验收测试: public class EndToEndTest extends DriverBase{ private HomePage home; private String url; @Factory(dataProvider = “urls”, dataProviderClass = URLProvider.class) public EndToEndTest(String url) { this.url = url; } @BeforeSuite public void stuff(){ newDriver(); } @BeforeClass public void setup(){ home = new HomePage(driver, url); } @Test (priority = 1) […]