Я пытаюсь подключить свой db, а затем запустить запрос, чтобы получить результат с помощью теста testNG.Тест TestNG не получает вызов
ответ
Пожалуйста, удалите все junit импорт из класса, если вы планируете использовать TestNG для своего исполнения. Я хотел бы предложить вам использовать следующий подход:
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.
}
}
В приведенной выше коде, я предположил, что у является идентификатором текстового поля, в котором вы хотите, чтобы ввести значение из базы данных. Вы можете заменить его фактическим значением атрибута id или использовать другое свойство для распознавания текстового поля пользователя.
Используя приведенный выше код и удалив лишний импорт, действительно разрешила проблему ... но когда я вызываю метод, чтобы получить имя пользователя и вставить в sendkeys, он не работает. Ниже приведен код –
'String username = getUsernameFromDB(); driver.findElement (By.id («baid»)). SendKeys (имя пользователя); ' Я вижу, что метод соединения db вызывается и запрос также выполняется, но поле ввода не является заполняя результат. ??!? –
Вызывает ли это какая-либо ошибка или исключение? – Mahipal
Существует ли в TestNG какой-либо аннотации '@ Test'? junit4 делает. –
Почему 'import org.junit. *;' Для тестов TestNG? – SiKing