java数据提供者和断言
在TestNG上使用DataProviders时,我的测试方法断言将失败,因为传入的数据导航到不同的url。是否有办法解决这一问题,即数据仅注入某些/特定资产
我不是用不同的数据测试一个场景,而是用不同的数据测试多个场景,这就是我的冲突产生的地方
@DataProvider(name = "VINNumbers")
public String[][] VINNumbers() {
return new String[][] {
{"2T1BU4ECC834670"},
{"1GKS2JKJR543989"},
{"2FTDF0820A04457"}
};
}
@Test(dataProvider = "VINNumbers")
public void shouldNavigateToCorrespondingVinEnteredIn(String VIN) {
driver.get(findYourCarPage.getURL() + VIN);
Assert.assertTrue(reactSRP.dealerListingMSRPIsDisplayed());
}
断言测试页面是否显示MSRP,但并非所有数据提供程序都显示MSRP,因此它将失败。唯一拥有它的数据提供程序是第一个数组。有没有一种方法可以让数据提供者调用特定的断言
# 1 楼答案
如果取决于VIN,是否显示MSRP(布尔值),例如,您可以按照提供VIN和预期结果的方式创建提供商:
这样,您就可以得到如下提供商:
在我看来,这对于简单的情况是可以接受的。为了使断言更具可读性,我将向其添加一条自定义消息,该消息也被参数化
我希望这有帮助