[ 一日30分 인생승리의 학습법]

셀레니움 헤드리스 테스트를 위한 HTMLUnitDriver 및 PhantomJS

 

Selenium 웹 드라이버는 여러 브라우저에서 테스트를 실행할 수있는 웹 자동화 도구입니다. 이러한 브라우저는 Internet Explorer, Firefox 또는 Chrome 일 수 있습니다. Selenium과 함께 특정 브라우저를 사용하려면 해당 드라이버가 필요합니다.

테스트 실행시 Selenium은 스크립트에서 호출되는 해당 브라우저를 시작하고 테스트 단계를 실행합니다. 브라우저와 테스트 실행을 실제로 볼 수 있습니다.

헤드리스 브라우저 란 무엇입니까?

헤드리스 브라우저는 그래픽 사용자 인터페이스가없는 웹 브라우저입니다 이 프로그램은 브라우저처럼 동작하지만 GUI는 표시하지 않습니다.

헤드리스 드라이버의 몇 가지 예는 다음과 같습니다.

  • HtmlUnit
  • Ghost
  • PhantomJS
  • ZombieJS
  • Watir-webdriver

이 튜토리얼에서는 HtmlUnit 및 PhatomJS에 초점을 맞출겁니다.

HTMLUnitDriver

HTML UnitDriver는 WebDriver를위한 가장 가벼우면서도 빠른 구현 헤드리스 브라우저입니다. HtmlUnit을 기반으로합니다. 그것은 헤드리스 브라우저 드라이버 로 알려져 있습니다. Chrome, IE 또는 FireFox 드라이버와 동일하지만 GUI가 없으므로 화면에서 테스트 실행을 볼 수 없습니다.

HTML 유닛 드라이버의 특징

  • HTTPS 및 HTTP 프로토콜 지원
  • HTML 응답 지원 (링크 클릭, 양식 제출, HTML 문서의 DOM 모델 둘러보기 등)
  • 쿠키 지원
  • 프록시 서버 지원
  • 기본 및 NTLM 인증 지원
  • 탁월한 JavaScript 지원
  • GET 및 POST 제출 메소드 지원
  • 서버에 전송되는 요청 헤더를 사용자 정의하는 기능
  • 서버에서 실패한 응답이 예외를 throw해야하는지 또는 적절한 유형의 페이지로 반환되어야하는지 여부를 결정하는 기능

Selenium에서 HTMLUnit 드라이버를 사용하는 단계

1 단계) Eclipse에서 다음 코드를 복사하십시오. 표준 셀레늄 라이브러리 파일을 프로젝트에 추가하십시오. 추가 jar 파일은 필요하지 않습니다.

package  htmldriver;
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;	
import org.openqa.selenium.htmlunit.HtmlUnitDriver;		
public class htmlUnitYest {				
		public static void main(String[] args) {
                     // HTML 단위 드라이버의 새 인스턴스 만들기
                      
                     WebDriver driver = new HtmlUnitDriver();
                      
           		     // Navigate to Google		
                     driver.get("http://www.google.com");					
          
					 // 이름을 사용하여 검색 상자를 찾습니다.		
                     WebElement element = driver.findElement(By.name("q"));	
                     
                    // Enter a search query		
                    element.sendKeys("Guru99");	
                   
		            // Submit the query. Webdriver는 자동으로 텍스트 입력 요소를 사용하여 양식을 검색합니다.			
                    // No need to locate/find the submit button		
                    element.submit();			
                    
            		// 이 코드는 페이지 제목을 인쇄합니다.	
                    System.out.println("Page title is: " + driver.getTitle());		
                    
                    driver.quit();			
         }		
}

2 단계) 코드를 실행합니다. 관찰자는 브라우저가 실행되지 않고 콘솔에 결과가 표시됩니다.

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

HTML 단위 드라이버의 장점 :

  • GUI를 사용하여 테스트하지 않으므로 테스트는 시각적 인 중단없이 백그라운드에서 실행됩니다
  • 다른 모든 인스턴스에 비해 실행 속도가 빠릅니다.
  • HtmlUnit 드라이버를 통해 테스트를 실행하려면 다른 브라우저 버전을 선택할 수도 있습니다
  • 플랫폼 독립적이며 여러 테스트를 동시에 실행할 수 있습니다. 부하 테스트에 이상적입니다 .

제한 사항 :

  • 다른 브라우저 JavaScript 동작을 에뮬레이션 할 수 없습니다.

PhantomJS

PhantomJS는 자바 스크립트 API가 포함 된 헤드리스 브라우저입니다. 그것은 헤드리스 웹 사이트 테스트, 액세스 및 웹 페이지 조작에 최적의 솔루션이며 표준 DOM API와 함께 제공됩니다.

Seleniun에서 PhantomJS를 사용하려면 GhostDriver를 사용해야합니다. GhostDriver 는 PhantomJS 용 Simple JS에서 Webdriver Wire 프로토콜을 구현 한 것입니다.

 

PhatomJS의 최신 버전은 한 통합 GhostDriver과 별도로 설치할 필요가 없습니다.

다음은 시스템 작동 방식입니다.

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

PhatomJS로 Selenium을 실행하는 단계

1 단계) Selenium이 설치된 Eclipse가 필요합니다.

2 단계) 다운로드 PhantomJS 여기

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

3 단계) 다운로드 한 폴더를 Program Files에 압축 해제합니다.

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

4) PhantomJS 드라이버를 여기 에서 다운로드 하십시오 . 프로젝트에 병을 추가하십시오.

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

 

5 단계) 다음 코드를 eclipse에 붙여 넣습니다.

package htmldriver;	
import java.io.File;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.phantomjs.PhantomJSDriver;	

public class phantom {				
		public static void main(String[] args) {
        	        File file = new File("C:/Program Files/phantomjs-2.0.0-windows/bin/phantomjs.exe");				
                    System.setProperty("phantomjs.binary.path", file.getAbsolutePath());		
                    WebDriver driver = new PhantomJSDriver();	
                    driver.get("http://www.google.com");         
                    WebElement element = driver.findElement(By.name("q"));	
                    element.sendKeys("Guru99");					
                    element.submit();         			
                    System.out.println("Page title is: " + driver.getTitle());		
                    driver.quit();			
           }		
}

6 단계) 코드를 실행합니다. 출력이 콘솔에 표시되고 브라우저가 실행되지 않는다는 것을 알 수 있습니다.

참고 : 처음 실행하면 설정에 따라 Windows에서 PhantomJS를 실행할 수 있도록 보안 경고를받을 수 있습니다. 액세스 허용을 클릭하십시오.

셀렌 헤드리스 테스트 용 HTMLUnitDriver 및 PhantomJS

많은 조직에서는 Phantom.JS를 다양한 용도로 사용합니다 (예 :

  • 헤드리스 테스트
  • 화면 캡처
  • 페이지 자동화
  • 네트워크 모니터링
  • 사용자를 위해 대시 보드 스크린 샷을 렌더링하는 방법
  • 명령 줄에서 단위 테스트를 실행하려면
  • HTML에서 PDF로 직원 핸드북을 생성하려면
  • 테스트 스위트를위한 QUnit과 결합

개요

여러 브라우저에서 응용 프로그램을 빠르게 테스트하고 시각적 인 중단없이 헤드리스 브라우저 테스트 가 사용됩니다. 속도, 정확성 및 기능에 쉽게 액세스 할 수 있기 때문에 HTML 유닛 드라이버 및 PhantomJS는 헤드리스 브라우저 테스트에서 인기를 얻고 있습니다. 몇 가지 간단한 단계를 따르면 이러한 도구를 다른 도구와 얼마나 쉽게 통합하고 테스트 코드를 실행할 수 있는지 알 수 있습니다.

[출처] https://testmanager.tistory.com/143

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1068 [ 一日30分 인생승리의 학습법] gw basic 튜터리얼, 메뉴얼, A GW-BASIC Tutorial 졸리운_곰 2022.01.22 3
1067 [ 一日30分 인생승리의 학습법] Web Search Engine : 웹 검색 엔진 google/ naver 만들기 file 졸리운_곰 2022.01.17 2
1066 [ 一日30分 인생승리의 학습법] AILog 2 A logic programming language with probabilities and logical explanation and debugging faculities file 졸리운_곰 2022.01.16 1
1065 [ 一日30分 인생승리의 학습법] 소스 인사이트( source insight ) 사용법 file 졸리운_곰 2022.01.13 8
1064 [ 一日30分 인생승리의 학습법][메타버스란 무엇인가?] The Metaverse Has Already Arrived. Here’s What That Actually Means file 졸리운_곰 2021.12.29 10
1063 [ 一日30分 인생승리의 학습법] English to Logic, Truth-Functional Propositional Logic 졸리운_곰 2021.12.15 7
1062 [ 一日30分 인생승리의 학습법][실무행정] 기안문 공문서 기안문 작성법, 행정안전부 지침 및 시행 file 졸리운_곰 2021.12.11 8
1061 [ 一日30分 인생승리의 학습법][실무행정] 기안문 작성하기 졸리운_곰 2021.12.11 5
» [ 一日30分 인생승리의 학습법] 셀레니움 헤드리스 테스트를 위한 HTMLUnitDriver 및 PhantomJS file 졸리운_곰 2021.11.26 4
1059 [ 一日30分 인생승리의 학습법] 메타버스로 날개 단 오픈소스 프로젝트 file 졸리운_곰 2021.11.23 13
1058 [ 一日30分 인생승리의 학습법] Best JavaScript machine learning libraries in 2021 file 졸리운_곰 2021.11.20 4
1057 [ 一日30分 인생승리의 학습법] 프로그래밍 언어별 딥러닝 라이브러리 정리 file 졸리운_곰 2021.11.19 9
1056 [오픈소스 라이센스 상용화 라이센스 검토] [Software] 공개 SW 라이센스(GPL, LGPL, BSD) 졸리운_곰 2021.11.18 5
1055 [프론트앤드 프레임워크] 프론트엔드 프레임워크 트렌드(Angular / React / Vue.js) file 졸리운_곰 2021.11.17 2
1054 [프론트앤드 프레임워크] [FE] 프론트엔드 3대장 비교와 주관적인 최신 웹 동향에 대해 (feat. React를 기반으로) file 졸리운_곰 2021.11.17 10
1053 [분석 및 설계] DDD(Domain Driven Design) Domain Driven Design에 대해 알아보자 file 졸리운_곰 2021.11.17 1
1052 [분석 및 설계] DDD(Domain Driven Design) - 도메인 주도 설계란? 마이크로서비스의 관점에서 file 졸리운_곰 2021.11.17 1
1051 [분석 및 설계] DDD 핵심만 빠르게 이해하기 file 졸리운_곰 2021.11.17 3
1050 [github] Awesome-crawler 멋진 웹 크롤러 프로젝트 졸리운_곰 2021.11.09 3
1049 [인공지능] 지식표현과 추론 file 졸리운_곰 2021.11.07 3
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED