In meiner Website kann ich einen Datumsbereich auswählen und alle Transaktionen innerhalb des Datumsbereichs auflisten. Mein Testfall besteht darin, zu überprüfen, ob die angegebenen Transaktionsdaten innerhalb des ausgewählten Datumsbereichs liegen.Überprüfen Sie, ob die Daten im Selen Webtreiber (Java) liegen
Dies ist mein Code. Ich bekomme alle Transaktionsdaten in eine LinkedList. Die Comp_Dates-Methode vergleicht das tatsächliche Datum innerhalb der Daten 'Von' und 'Bis'. Das Problem ist, dass dieser Code immer True zurückgibt. Ich habe FromDate und ToDate geändert, um das falsche Szenario zu testen, aber der Code wird True zurückgeben.
Können Sie bitte helfen? Was ist das Problem in diesem Code?
//Set From Date
driver.findElement(By.id("ctl00_ContentPlaceHolderMain_container_container_Block_172_tabPanelMyAccounts_dtDateFrom_txtDate")).sendKeys(Keys.chord(Keys.CONTROL, "a"),"01/03/2016");
//Set To date
driver.findElement(By.id("ctl00_ContentPlaceHolderMain_container_container_Block_172_tabPanelMyAccounts_dtDateTo_txtDate")).sendKeys(Keys.chord(Keys.CONTROL, "a"),"30/04/2016");
driver.findElement(By.id("ctl00_ContentPlaceHolderMain_container_container_Block_172_tabPanelMyAccounts_btnList")).click();
List<WebElement> Date =
driver.findElements(By.xpath(".//* [@id='ctl00_ContentPlaceHolderMain_container_container_Block_172_tabPanelMyAccounts_stxOutstandingTransactions_gvOSTransactions']/tbody/tr[*]/td[1]"));
List<String> Dates = new LinkedList<String>();
for(int i=0;i<Date.size();i++)
{
Dates.add(Date.get(i).getText());
System.out.println(Dates);
}
boolean result = comp_Dates(Dates);
if (result=true)
{
System.out.println(result + ", Address are within the range");
}
else
{
System.out.println(result + ", Addresses are not within the range. Test Case Failed");
}
}
private static boolean comp_Dates(List<String> Dates) {
try
{
SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
//Date date = fmt.parse("2013-05-06");
String FromDate= "01/05/2016";
String ToDate= "30/06/2016";
java.util.Date Fdate =fmt.parse(FromDate);
java.util.Date Tdate =fmt.parse(ToDate);
for(String e : Dates)
{
java.util.Date ActualDate = fmt.parse(e);
if (ActualDate.compareTo(Fdate)>=0 & ActualDate.compareTo(Tdate)<=0);
{
return true;
}
}
}
catch (Exception ex){
System.out.println(ex);
}
return false;
}
}
Transaktionen Daten in verlinkte Liste [18/04/2016, 14/04/2016, 13/04/2016] Ich habe wie in dem unten stehenden Code festgelegte Termine.
Zeichenfolge FromDate = "01/05/2016";
String ToDate = "30.06.2016";
Wenn diese Daten vergleichen, Code sollte false zurück, wie Daten einer nicht fallen innerhalb von und bis Daten. Aber es gibt True zurück. Was mache ich hier falsch?
Dank
'if (result = true)' könnte der Schuldige sein – Shahid