Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 ';断言True';硒的概念_Java_Selenium_Testng - Fatal编程技术网

Java ';断言True';硒的概念

Java ';断言True';硒的概念,java,selenium,testng,Java,Selenium,Testng,我使用selenium来比较web表中的名称,我声明了具有第一个名称和第二个名称的局部变量,并将其与web表中的值进行比较 对于正向流,我的代码正常运行,并显示了预期的结果 对于声明字符串lastname中的名称与web表中的值不匹配的负流,不会显示预期结果。未打印assertTrue中的消息。我的eclipse显示testng正在运行,但之后什么也没有发生 我的假设是,如果web表具有除“Product”以外的任何姓氏,则找到的记录应获取值false,并应移到“AssertTrue”行,并应打

我使用
selenium
来比较
web表中的名称
,我声明了具有第一个名称和第二个名称的局部变量,并将其与web表中的值进行比较

对于正向流,我的代码正常运行,并显示了预期的结果

对于声明字符串
lastname
中的名称与web表中的值不匹配的负流,不会显示预期结果。未打印
assertTrue
中的消息。我的eclipse显示
testng
正在运行,但之后什么也没有发生

我的假设是,如果
web表
具有除“Product”以外的任何姓氏,则找到的记录应获取值false,并应移到“AssertTrue”行,并应打印stmt
Lastname不是预期的

@Test 
public void abc(){
    String firstname="Test";
    String lastname="Product";

    boolean recordfound= false;

    String firstpart="//*[@id='fchArea']/table/tbody/tr[";
    String secondpart="]/td[1]/a";
    int i=8;
    while (iselementpresent(firstpart+i+secondpart)){
        //firstname
        String name1=driver.findElement(By.xpath(firstpart+i+secondpart)).getText();

        if (name1.equals(firstname)){
            String altofsecondpart = firstpart+i+secondpart.replace("td[1]", "td[2]");
            String name2=driver.findElement(By.xpath(altofsecondpart)).getText();

            if(name2.equals(lastname)){
                System.out.println("secondcase pass");
                recordfound = true;
                break;
            }
        }   
    }
    Assert.assertTrue(recordfound, "Lastname is not as expected");
}

public boolean iselementpresent(String xpath){  
    int lst=driver.findElements(By.xpath(xpath)).size();
    if(lst == 0){
        return false;
    }
    else{
        return true;
    }   
}

while循环是无限的,它总是检查索引8的元素,因为您有固定的i值。所以你应该增加或减少i值。但在这种情况下,若行号不存在,那个么它将给出元素NotFound错误

所以,最好的方法是捕获web表中的行数,然后迭代相同的循环

谢谢,
-Sadik

您的while循环将无限循环,并始终检查索引8的元素,因为您有固定的i值。所以你应该增加或减少i值。但在这种情况下,若行号不存在,那个么它将给出元素NotFound错误

所以,最好的方法是捕获web表中的行数,然后迭代相同的循环

谢谢,
-Sadik

Hi,我在第二个“if”条件中使用了break语句来避免连续循环。从逻辑上讲,当两个条件都为true时,这将中断。Hi,我在第二个“如果”条件中使用了中断语句,以避免连续循环。从逻辑上讲,当两个条件都为真时,这将中断。请在问题中发布相关HTML并格式化,以便我们可以帮助您。请在问题中发布相关HTML并格式化,以便我们可以帮助您。