2016-07-26 2 views
0

Selenium과 Java를 사용하여 웹 응용 프로그램 테스트 슈트를 설정하려고합니다. 내가 SRC에서 3 개 패키지를 만들려고하고다른 패키지에서 webdriver를 호출하십시오.

  • 개체 - 내 페이지에 사용이
  • 작업을 객체 - 내가 만든 작업에서 테스트

에 사용 - 시험 방법

  • 테스트에 사용 CommonTasks라는 클래스는 테스트 용으로 생성 된 메서드를 저장하는 데 사용됩니다. 여기 몇 가지 예가 있어요.

    protected void verifyNumberOfElements(By selector, int expectedsize){ 
         int size = driver.findElements(selector).size(); 
         log.info("INFO: Verifying the number of elements is "+expectedsize+""); 
         Assert.assertEquals(size, expectedsize); 
         log.info("PASS: The number of elements returned was "+expectedsize+" "); 
        } 
    
    public static void verifyText(By selector, String expectedtext){ 
         //verify that the expected text is present 
         String actualtext = driver.findElement(selector).getText(); 
         Assert.assertEquals(actualtext, expectedtext); 
         log.info("PASS: "+expectedtext+" was present and verified"); 
        } 
    
    protected void verifyElement(By selector){ 
         //Verify that a certain selector is present in the page 
         smartSleep(selector); 
         boolean isPresent = driver.findElements(selector).size() > 0; 
         Assert.assertEquals(isPresent, true); 
         log.info("PASS: Element was found"); 
         boolean notPresent = driver.findElements(selector).size() > 0; 
         Assert.assertEquals(notPresent, false); 
         log.info("FAIL: Element was NOT found"); 
        } 
    

    테스트 패키지에서 피처 ABC 테스트를 위해 ABC라는 클래스를 만듭니다. 다음과 같은 기본 단계가 있습니다.

    문제점은 웹 드라이브를 생성 할 위치를 모른다는 것입니다. 많은 테스트 클래스를 만들고 Tasks 패키지에서 만든 메서드를 호출 할 수 있기를 원합니다. Tasks에서 클래스를 가져와야하지만 Webdriver 생성 부분을 알 수는 없다는 것을 알고 있습니다. 작업 및 테스트 패키지 모두 드라이버를 참조하므로이 작업을 수행하는 방법은 무엇입니까? Tasks.CommonTasks 또는 Tests.ABC에서 만들어야합니까?

    또한 로컬 컴퓨터 대신 SauceLabs에 연결하는 테스트가 필요합니다.

  • 답변

    0

    위의 코드에서 Tasks 패키지의 모든 메소드는 유틸리티 메소드이며 테스트 스위트에서 공통적으로 사용되므로이 메소드는 드라이버가 이미 초기화 된 테스트 메소드에서만 호출되므로 테스트 클래스에 웹 드라이버를 만듭니다 작업 패키지의 유틸리티 메소드로 전달하십시오.

    희망 하시겠습니까?

    관련 문제