我已经将存储的字符串值与提供的hashmap中的ExpectedValue进行了比较。
但我完全停留在以下几点上:
我能够验证这些项目,但是如果这个特定的字符串(假设100)出现在详细页面的任何地方,那么它就是传递的,这是一种不正确的Assert方式。
如果我把
// Assert.assertEquals(allEle, entry.getValue());
它不能正常工作。
如果我使用2列表来比较预期值和实际值,那么如何在结果中显示日期失败或名称失败/通过。
我的实际数据存储在一个变量中的字符串值,就像我存储所有文本值的Allegment arraylist一样 gettext()
,这是我的详细视图网页。
并且期望的数据已经存储在hashmap键值对中
请参阅以下代码以获取参考
Map<String,String> expectedDataMap=new HashMap<String,String>();
expectedDataMap.put("Date", SalesInvoiceDate);
expectedDataMap.put("Bank Voucher Number", DeliveryDocumentNumber);
expectedDataMap.put("Total Amount", totalBaseAmountBV);
expectedDataMap.put("Total Balance Amount", totalBalanceAmountBV);
expectedDataMap.put("Total Paid Amount", totalPaidAmountBV);
expectedDataMap.put("Bank Name", "Axis Bank-10100001");
expectedDataMap.put("Vendor Name", "-50000017");
List<WebElement> allOptions=driver.findElements(By.xpath(prop.getProperty(objectname)));
List<String> allEle=new ArrayList<>();
for(WebElement ele:allOptions)
{
allEle.add(ele.getText());
}
//String actual=ele.getText();
for(Map.Entry<String, String> entry:expectedDataMap.entrySet())
{
if(allEle.contains(entry.getValue()))
{
// Assert.assertEquals(allEle, entry.getValue());
System.out.println(entry.getKey()+ " is Passed:- "+entry.getValue());
System.out.println("-----------------------------------------------------");
}
else
{
System.out.println(entry.getKey()+ "is Failed:- "+entry.getValue());
System.out.println("-----------------------------------------------------");
}
}
如何始终以不同的形式重用此函数以Assert值并使用期望的密钥对打印它?
暂无答案!
目前还没有任何答案,快来回答吧!