Selenium Webdriver는 브라우저를 사용하여 응용 프로그램 을 테스트하는 것으로 제한됩니다 . 데이터베이스 확인을 위해 Selenium Webdriver를 사용하려면 JDBC ( "Java Database Connectivity")를 사용해야합니다.
JDBC (Java Database Connectivity)는 SQL 문을 실행할 수 있는 SQL 레벨 API입니다. Java 프로그래밍 언어와 광범위한 데이터베이스 간의 연결을 담당 합니다. JDBC API는, 다음의 클래스 및 인터페이스를 제공합니다.
- Driver Manager
- Driver
- Connection
- Statement
- ResultSet
- SQLException
Selenium을 사용하여 데이터베이스를 테스트하려면 다음 세 단계를 수행해야합니다.
1. 데이터베이스에 연결하기
2. 데이터베이스에 쿼리 보내기
3. 결과 처리
1) 데이터베이스에 연결하기
데이터베이스에 연결하기 위해 구문은 다음과 같습니다.
DriverManager.getConnection (URL, "userid", "password")
이리,
- Userid는 데이터베이스에 구성된 사용자 이름입니다.
- 구성된 사용자의 비밀번호
- URL의 형식은 jdbc : <dbtype> : // ipaddress : portnumber / db_name "입니다.
<dbtype> - 연결하려는 데이터베이스의 드라이버입니다. oracle 데이터베이스에 연결하려면이 값은 "oracle"이 될 것입니다.
MYSQL URL에 "emp"라는 이름의 데이터베이스에 연결하려면 bejdbc : mysql : // localhost : 3036 / emp
연결을 생성하는 코드는 다음과 같습니다.
Connection con = DriverManager.getConnection (dbUrl, username, password);
또한 코드를 사용하여 JDBC 드라이버를로드해야합니다.
Class.forName ( "com.mysql.jdbc.Driver");
2) 데이터베이스에 쿼리 보내기
연결되면 쿼리를 실행해야합니다.
Statement 객체를 사용하여 쿼리를 보낼 수 있습니다.
Statement stmt = con.createStatement ();
statement 객체가 생성되면 executeQuery 메서드를 사용하여 SQL 쿼리를 실행합니다.
stmt.executeQuery (select * from employee;);
3) 결과 처리
실행 된 쿼리의 결과는 ResultSet 객체에 저장됩니다.
Java는 결과를 처리하기위한 많은 사전 처리 메소드를 제공합니다. 아래에 몇 가지 방법이 나와 있습니다.
Selenium을 이용한 데이터베이스 테스팅 예제
1 단계) MySQL 서버 및 MySQL Workbench 설치
MySQL 및 Mysql Workbench에 대한 전체 안내서를 확인 하십시오.
MySQL 서버를 설치하는 동안 데이터베이스를 기록해 두십시오.
- Username
- Password
- Port Number
추가 단계에서 필요합니다.
MySQL Workbench를 사용하면 SQL을 코딩 할 필요없이 데이터베이스를 쉽게 관리 할 수 있습니다. 하지만 MySQL 터미널을 사용하여 데이터베이스와 상호 작용할 수도 있습니다.
2 단계) MySQL WorkBench에서 MySQL 서버에 연결
다음 화면에서,
- MySQL의 로컬 인스턴스 선택
- 포트 번호 입력
- 사용자 이름 입력
- 암호를 입력
- OK을 클릭하십시오.
3 단계) 데이터베이스 생성,
- 스키마 생성 버튼 클릭
- Schema/Database 이름 입력
- Apply을 클릭하십시오.
4 단계) 네비게이터 메뉴에서,
- emp 데이터베이스 아래의 테이블을 클릭하십시오.
- employee으로 테이블 이름 입력
- Name과 Age로 필드 입력
- Apply을 클릭하십시오.
다음 팝업이 표시됩니다. Apply을 클릭하십시오.
5 단계) 다음 데이터를 생성합니다
Name | Age |
Top | 25 |
Nick | 36 |
Bill | 47 |
테이블에 데이터를 작성하려면
- 네비게이터에서 employee 테이블을 선택하십시오.
- 오른쪽 창에서 Form Editor를 클릭하십시오.
- Name 및 Age 입력
- Apply를 클릭하십시오.
모든 데이터가 생성 될 때까지 프로세스를 반복하십시오.
6 단계) MySQL JDBC 커넥터를 여기에서 다운로드
7 단계) 다운로드 한 Jar를 프로젝트에 추가하십시오.
- 자바 파일을 마우스 오른쪽 버튼으로 클릭하십시오. 그런 다음 Build Path (빌드 경로)를 클릭하여 빌드 경로 구성
- libraries(라이브러리) 선택
- external JARs(외부 JAR) 추가를 클릭하십시오.
- 라이브러리에있는 MySQL connector java를 볼 수있습니다..
- 프로젝트에 추가하려면 open(열기)를 클릭하십시오.
8 단계) editor에 다음 코드를 복사합니다.
Package htmldriver;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLConnector {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//Connection URL Syntax: "jdbc:mysql://ipaddress:portnumber/db_name"
String dbUrl = "jdbc:mysql://localhost:3036/emp";
//Database Username
String username = "root";
//Database Password
String password = "guru99";
//Query to Execute
String query = "select * from employee;";
//Load mysql jdbc driver
Class.forName("com.mysql.jdbc.Driver");
//Create Connection to DB
Connection con = DriverManager.getConnection(dbUrl,username,password);
//Create Statement Object
Statement stmt = con.createStatement();
// Execute the SQL Query. Store results in ResultSet
// SQL 쿼리를 실행합니다. ResultSet에 결과 저장
ResultSet rs= stmt.executeQuery(query);
// While Loop to iterate through all data and print results
// While 루프를 사용하여 모든 데이터와 인쇄 결과를 반복합니다.
while (rs.next()){
String myName = rs.getString(1);
String myAge = rs.getString(2);
System. out.println(myName+" "+myAge);
}
// closing DB Connection
con.close();
}
}
8 단계) 코드를 실행하고 출력을 확인합니다.
Selenium 데이터베이스 테스트 단계 요약
1 단계) 방법을 사용하여 데이터베이스에 연결합니다.
DriverManager.getConnection (URL, "userid", "password")
2 단계) Statement 객체를 사용하여 데이터베이스에 질의를 생성합니다.
명령문 stmt = con.createStatement ();
3 단계) execute query를 사용하여 쿼리를 데이터베이스로 전송하고 결과를 ResultSet 객체에 저장합니다.
ResultSet rs = stmt.executeQuery (select * from employee;);
Java는 ResultSet 객체를 사용하여> SQL 출력을 처리하는 많은 내장 메소드를 제공합니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
Firefox 용 Selenium IDE 다운로드 및 설치 방법 (0) | 2018.11.11 |
---|---|
[공유] Cypress vs Selenium WebDriver 차이점 (0) | 2018.11.10 |
셀레니움(셀레늄)이란 무엇입니까? (0) | 2018.11.09 |
[selenium] 셀레니움 웹드라이버를 알아보니.. (0) | 2018.11.08 |
[selenium] 셀레니움 자동화 테스트 도구 에 대해 알아보니.. (0) | 2018.11.07 |