Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java for循环总是返回true_Java_Android_Selenium_Selenium Webdriver - Fatal编程技术网

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;i
for(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");
}