我正在尝试连接我的数据库,然后运行查询以通过 testNG 测试获得结果。
问问题
772 次
1 回答
0
如果您打算使用 TestNG 来执行,请从类中删除所有junit导入。我建议您使用以下方法:
package regressionTesting;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.TimeUnit;
import javax.naming.spi.DirStateFactory.Result;
import org.openqa.selenium.*;
import org.openqa.selenium.By.ByXPath;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestDBConnect {
public static String username = null;
@BeforeClass
public void setUp() {
username = getUsernameFromDB();
}
@Test
public void testUI() {
//Some code for navigating to the required page
driver.findElement(By.id("u")).sendKeys(username);
//Code for executing remaining steps
}
public static String getUsernameFromDB() throws ClassNotFoundException, SQLException {
//Accessing driver from the JAR file
Class.forName("oracle.jdbc.OracleDriver");
System.out.println("Oracle JDBC driver loaded ok.");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@151.117.87.205:1602:epwfst1","epwf_app","epwf_app_epwfst1");
System.out.println("DB Connected Successfuly");
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery("select billing_application_accnt_id from epwf.payment where created_user_nm = '1600STOUTST10001'");
String account = null;
while(result.next()){
account = result.getString("BILLING_APPLICATION_ACCNT_ID");
System.out.println("BAID: " + account);
}
con.close();
return account;
}
@AfterClass
public void cleanUp() {
//Code for clean-up activities like closing browser and releasing resources.
}
}
在上面的代码中,我假设u是要输入从数据库读取的值的文本字段的id 。您可以将其替换为实际的id属性值,或者也可以使用其他属性来识别用户名文本框。
于 2017-01-30T23:52:27.060 回答