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