셀레늄-원격 제어

Selenium RC는 무엇입니까?

Selenium Remote Control (RC)은 Selenium WebDriver (Selenium 2.0)가 등장하기 전까지 오랫동안 지속 된 주요 Selenium 프로젝트였습니다. WebDriver가 더 강력한 기능을 제공하기 때문에 Selenium RC는 거의 사용되지 않지만 사용자는 여전히 RC를 사용하여 스크립트를 개발할 수 있습니다.

이를 통해 Java, C #, Perl, Python 및 PHP와 같은 프로그래밍 언어의 모든 기능을 활용하여 자동화 된 웹 애플리케이션 UI 테스트를 작성하여 파일 읽기 및 쓰기, 데이터베이스 쿼리, 테스트 결과 이메일 전송과 같은 더 복잡한 테스트를 만들 수 있습니다. .

Selenium RC 아키텍처

Selenium RC는 클라이언트 라이브러리가 실행을 위해 각 Selenium 명령을 전달하는 Selenium RC 서버와 통신 할 수있는 방식으로 작동합니다. 그런 다음 서버는 Selenium-Core JavaScript 명령을 사용하여 Selenium 명령을 브라우저에 전달합니다.

브라우저는 JavaScript 인터프리터를 사용하여 Selenium 명령을 실행합니다.

Selenium RC는 두 부분으로 나뉩니다.

  • Selenium 서버는 브라우저를 시작하고 종료합니다. 또한 Selenese 명령을 해석하고 실행합니다. 또한 브라우저와 테스트중인 애플리케이션 사이에 전달 된 HTTP 메시지를 가로 채서 확인하여 HTTP 프록시 역할을합니다.

  • 각 프로그래밍 언어 (Java, C #, Perl, Python 및 PHP)와 Selenium-RC 서버 간의 인터페이스를 제공하는 클라이언트 라이브러리입니다.

RC 스크립팅

이제 Selenium Remote Control을 사용하여 샘플 스크립트를 작성해 보겠습니다. 사용하자http://www.calculator.net/Selenium RC를 이해하기 위해. 'Math Calculators'모듈 아래에있는 'Percent Calculator'를 사용하여 백분율 계산을 수행합니다.

Step 1 − Selenium Remote Control을 시작합니다 (명령 프롬프트의 도움으로).

Step 2 − Selenium RC를 시작한 후 Eclipse를 열고 아래와 같이 "새 프로젝트"를 생성합니다.

Step 3 − 프로젝트 이름을 입력하고 '다음'버튼을 클릭합니다.

Step 4 − 소스, 프로젝트, 라이브러리, 출력 폴더를 확인하고 '마침'을 클릭합니다.

Step 5 − 'project'컨테이너를 마우스 오른쪽 버튼으로 클릭하고 'Configure Build Path'를 선택합니다.

Step 6− 'selrcdemo'속성이 열립니다. '라이브러리'탭으로 이동하여 '외부 JAR 추가'를 선택합니다. 다운로드 한 Selenium RC jar 파일을 선택하면 아래와 같이 나타납니다.

Step 7 − 참조 된 라이브러리는 아래와 같이 표시됩니다.

Step 8 − 'src'폴더를 마우스 오른쪽 버튼으로 클릭하여 새 클래스 파일을 생성하고 'New'>> 'class'를 선택합니다.

Step 9 − 아래와 같이 클래스 파일의 이름을 입력하고 'public static void main'을 활성화합니다.

Step 10 − 생성 된 클래스는 아래와 같이 폴더 구조 아래에 생성됩니다.

Step 11− 이제 코딩 할 시간입니다. 다음 코드에는 독자가 내용을 이해할 수 있도록 주석이 포함되어 있습니다.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Step 12 − 이제 '실행'버튼을 클릭하여 스크립트를 실행 해 보겠습니다.

Step 13 − 스크립트가 실행되기 시작하고 사용자는 '명령 내역'탭에서 명령 내역을 볼 수 있습니다.

Step 14− 응용 프로그램의 최종 상태는 다음과 같습니다. 백분율이 계산되어 아래와 같이 화면에 결과가 표시됩니다.

Step 15− 테스트 결과는 콘솔에 출력 된 것처럼 아래와 같이 Eclipse 콘솔에 출력됩니다. 실시간으로 출력은 HTML 파일 또는 간단한 텍스트 파일에 기록됩니다.