lundi 6 août 2018

Why the data acquired from database in not getting validated against data in Selenium Webdriver?

This is my test method in Selenium Webdriver.

@Test
public void test() {

    String status = null, preProcessStatus = null;

    Class.forName("oracle.jdbc.driver.OracleDriver");  
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","password");  
    Statement stmt=con.createStatement();  
    ResultSet rs=stmt.executeQuery("select * from tle_owner.transfer where Id=101");  

    while(rs.next()){  
    status           = rs.getString(status);
    preProcessStatus = rs.getString(preProcessStatus);
    }

    System.out.println("Initial Status : "+status);
    System.out.println("Pre-Processing Status : "+preProcessStatus);

    String dataBaseValidation;

    if(status == "E" && preProcessStatus == "E") {
        dataBaseValidation="Pass";      
    }
    else {
        dataBaseValidation="Fail";
    }
    System.out.println("Database Validation : " + dataBaseValidation);
}

Result

Initial Status : E
Pre-Processing Status : E
Database Validation : Fail

The query from database will always lead to one row in the result or now row. The Datatype of both status and preProcessStatus in Database is CHAR(1 CHAR). I'm using Oracle Sql Developer.

If status and preProcessStatus both are printing "E", why the data is not getting validated in if condition?

Aucun commentaire:

Enregistrer un commentaire