Java for循环总是返回true
我有下面的代码。这里的结果总是通过,因为我有两个失败的场景Java for循环总是返回true,java,android,selenium,selenium-webdriver,Java,Android,Selenium,Selenium Webdriver,我有下面的代码。这里的结果总是通过,因为我有两个失败的场景 List<WebElement> webElementslist = driver.findElements(By.className("android.widget.TextView")); for (WebElement webElementlist : webElementslist) { // System.out.println("Start Application"+webElementlist.getT
List<WebElement> webElementslist = driver.findElements(By.className("android.widget.TextView"));
for (WebElement webElementlist : webElementslist)
{
// System.out.println("Start Application"+webElementlist.getText());
for (int i = 2; i <= DisText.getRowCount("TRAText"); i++)
{
// System.out.println("Start Excel"+DisText.getCellData("TRAText", "Description", i));
if (webElementlist.getText().equals(DisText.getCellData("TRAText", "Description", i)))
{
tflag = true;
}
}
if (tflag)
extent.log(LogStatus.PASS, "Display Text", "Its Pass");
// Reporter.log("Pass");
else
extent.log(LogStatus.FAIL, "Display Text", "Its Fail");
}
List webElementslist=driver.findElements(By.className(“android.widget.TextView”);
for(WebElement WebElement列表:WebElement列表)
{
//System.out.println(“启动应用程序”+webElementlist.getText());
对于(inti=2;i这里是一个示例代码,我认为应该是这样的
for (WebElement webElementlist : webElementslist)
{
tflag = false;
for (int i = 2; i <= DisText.getRowCount("TRAText"); i++)
{
// System.out.println("Start Excel"+DisText.getCellData("TRAText", "Description", i));
if (webElementlist.getText().equals(DisText.getCellData("TRAText", "Description", i)))
{
tflag = true;
}
}
if (tflag)
extent.log(LogStatus.PASS, "Display Text", "Its Pass");
// Reporter.log("Pass");
else
extent.log(LogStatus.FAIL, "Display Text", "Its Fail");
}
for(WebElement webElementlist:webElementslist)
{
tflag=假;
for(int i=2;ifor(WebElement webElementlist:webElementslist)
{
tflag=false;//初始化..仅当条件为true时才为true
对于(inti=2;i,这里是示例代码
List<WebElement> webElementslist = driver.findElements(By.className("android.widget.TextView"));
for (WebElement webElementlist : webElementslist) {
//System.out.println("Start Application"+webElementlist.getText());
for (int i = 2; i <= DisText.getRowCount("TRAText"); i++) {
//System.out.println("Start Excel"+DisText.getCellData("TRAText", "Description", i));
if (webElementlist.getText().equals(DisText.getCellData("TRAText", "Description", i))) {
tflag = true;
break;
} else {
tflag = false;
break;
}
}
if (tflag)
extent.log(LogStatus.PASS, "Display Text", "Its Pass");
//Reporter.log("Pass");
else
extent.log(LogStatus.FAIL, "Display Text", "Its Fail");
}
List webElementslist=driver.findElements(By.className(“android.widget.TextView”);
for(WebElement WebElement列表:WebElement列表){
//System.out.println(“启动应用程序”+webElementlist.getText());
对于(int i=2;i您缺少一些东西。首先,您需要在内部循环之前将tflag
设置为false,因为一旦将其设置为true,它将永远不会设置为false。其次,我认为您可能希望在找到匹配项后打破内部循环。我已在下面的代码中添加了带有注释的新语句,以便您可以我没看见他们
List<WebElement> webElementslist = driver.findElements(By.className("android.widget.TextView"));
for (WebElement webElementlist : webElementslist)
{
tflag = false; // need to reset tflag for each element
for (int i = 2; i <= DisText.getRowCount("TRAText"); i++)
{
if (webElementlist.getText().equals(DisText.getCellData("TRAText", "Description", i)))
{
tflag = true;
break; // break out of for loop when match is found... for each element
}
}
if (tflag)
extent.log(LogStatus.PASS, "Display Text", "Its Pass");
else
extent.log(LogStatus.FAIL, "Display Text", "Its Fail");
}
List webElementslist=driver.findElements(By.className(“android.widget.TextView”);
for(WebElement WebElement列表:WebElement列表)
{
tflag=false;//需要为每个元素重置tflag
对于(int i=2;i tflag的默认值是什么?请尝试在第二个循环开始之前将tflag重新初始化为false。@Shubham Jain…我没有复制代码。如果您可以看到…我添加了break语句以确保逻辑正确。内部循环将只执行一次,因为如果为true和if为false,则中断。请不要只发布代码答案。花一分钟时间ute并告诉OP和未来的读者你添加或更改了什么,以及为什么他们不仅可以拥有代码,还可以学到一些东西。请不要只发布代码答案。花一分钟时间告诉OP和未来的读者你添加或更改了什么,以及为什么他们不仅可以拥有代码,还可以学到一些东西。内部循环只执行一次因为如果是真的,如果是假的,你就打断了
List<WebElement> webElementslist = driver.findElements(By.className("android.widget.TextView"));
for (WebElement webElementlist : webElementslist)
{
tflag = false; // need to reset tflag for each element
for (int i = 2; i <= DisText.getRowCount("TRAText"); i++)
{
if (webElementlist.getText().equals(DisText.getCellData("TRAText", "Description", i)))
{
tflag = true;
break; // break out of for loop when match is found... for each element
}
}
if (tflag)
extent.log(LogStatus.PASS, "Display Text", "Its Pass");
else
extent.log(LogStatus.FAIL, "Display Text", "Its Fail");
}