셀레늄 자동화 테스트 🔧⚙:

8910 단어 devopsseleniumtesting

셀레늄이란 무엇입니까?


  • 셀레늄은 2004년 Jason Huggins에 의해 처음 만들어졌습니다.
  • Selenium은 전체 테스트 단계를 자동화할 수 있는 소프트웨어 테스트 도구입니다.

  • 셀레늄의 구성 요소:



    Selenium은 다른 사용 사례에 대해 다른 구성 요소가 있는 패키지입니다.

  • 셀레늄 RC
    HTTP 프록시 역할을 하는 웹 서버입니다.

  • 셀레늄 IDE
    그것은 단지 플러그인입니다. 주로 스크립트를 녹음하고 재생하는 데 사용됩니다.

  • 셀레늄 그리드
    여러 테스트 케이스를 동시에 실행할 수 있습니다.

  • 셀레늄 웹드라이버
    크로스 플랫폼 테스트에 사용되는 셀레늄의 주요 구성 요소.

  • 특징 :


  • 오픈 소스 .
  • 쉽게 구현할 수 있습니다.
  • 하드웨어 사용량이 적습니다.
  • 다중 브라우저 지원 .
  • 다른 언어 지원 .
  • 병렬 테스트 실행 .

  • 설정 :


  • 다운로드
  • 크롬 드라이버 다운로드(다른 브라우저에는 드라이버가 다름)
  • Selenium 독립 실행형 서버 설치
  • 오픈 이클립스
  • 새 프로젝트 생성
  • 오른쪽 클릭
  • 속성으로 이동합니다
  • .
  • 빌드 경로
  • 클래스 경로 라이브러리를 클릭합니다.
  • 외부 용기 추가
  • 폴더로 이동합니다(Selenium을 다운로드한 위치에서 해당 폴더를 클릭하면 lib 폴더 아래에 jar 파일(실행 파일)이 있음).
  • 적용 후 닫기

  • Java로 작성된 간단한 테스트 사례:

    public class Lunch {
    
        public static void main(String[] args) {
    
            System.setProperty("webdriver.chrome.drive", "C://selenium//chromedriver.exe");
    
           //We need to create the object for our chromedriver
           WebDriver driver =  new chromeDriver();
    
            driver.get("https://www.facebook.com");
           //Then we can perform Desired testing with driver object
           driver.findElement(By.id("email")).sendKeys("hlw");
    
           driver.findElement(By.id("pass")).sendKeys("1234");
    
    
           driver.findElement(By.name("login")).click();
           }
    }
    


    그래서 여기서 우리는 다음과 같이 수동으로 수행할 수 있는 작업을 자동화하고 있습니다.
  • 브라우저 열기 .
  • 자격 증명을 삽입합니다.
  • 그런 다음 로그인 을 클릭합니다.
  • 우리가 Selenium을 정의하는 것은 선택기를 사용하여 Facebook의 URL로 이동하는 것입니다.
  • 페이지를 검사하여 선택기를 찾을 수 있습니다(ctl + shift + i).
  • 사용자 이름 및 암호 필드에 자격 증명을 입력한 후 로그인 버튼을 클릭합니다.

  • 우리는 어떻게 더 최적화할 수 있습니까?

    public class Lunch {
    
        public static void main(String[] args) {
    
            System.setProperty("webdriver.chrome.driver", "C:\\Selinium\\chromedriver.exe");
    
            //we need create a object for the chromedriver
            WebDriver driver = new ChromeDriver();
    
            driver.get("https://www.facebook.com");
    
            String title =  driver.getTitle(); //Actual title
    
    //      Facebook – log in or sign 
    
            if(title.matches("Facebook – log in or sign up")) {
                System.out.println("valid page");
    
                driver.findElement(By.id("email")).sendKeys("hlw");
                driver.findElement(By.id("pass")).sendKeys("1234");
    
                driver.findElement(By.name("login")).click();
            }else {
                System.out.println("Invalid page");
    
                driver.close();
            }
        }
    
    }
    


    언급된 URL의 유효성에 따라 우리는 작업을 수행하고 있습니다. 그렇지 않으면 단순히 연결을 닫습니다.



    TestNg를 사용하여 테스트 보고서를 생성할 수 있습니다. 여기서 NG는 "차세대"를 의미합니다. Junit과 같은 테스트 프레임워크입니다.

    TestNG의 특징 :


  • 주석을 사용하면 테스트 사례를 쉽게 만들 수 있습니다.
  • 테스트 케이스를 우선순위별로 더 쉽게 그룹화할 수 있습니다.
  • 매개변수화를 지원합니다.
  • 은 DataProviders를 사용하여 데이터 기반 테스트를 지원합니다.
  • HTML 보고서를 생성합니다.
  • 병렬 테스트 실행이 가능합니다.

  • TestNG의 주석:



    TestNG의 주석은 프로그램의 흐름을 결정하는 데 사용됩니다.
  • @BeforeSuite
  • @비포테스트
  • @비포클래스

  • Maven이 필요한 이유:


  • 동일한 테스트 사례 파일을 다른 사람에게 제공하려는 경우 인터넷을 통해 많은 jar 파일을 보내는 것이 부적절할 수 있으므로 jar 파일도 포함해야 하는 시나리오를 상상해 보십시오.
  • 여기서 Maven을 사용할 수 있습니다.


  • Maven은 소프트웨어 프로그램의 종속성을 다운로드하는 데 사용됩니다.
  • 다운로드된 종속성이 POM 파일 내에 포함되어 있습니다.
  • 종속성이 포함되면 프로젝트를 저장하기만 하면 모든 종속성이 자동으로 다운로드됩니다.
  • 좋은 웹페이지 즐겨찾기