샘플 영상

1. 소셜커머스 위메프 웹에서 selenium 구동 영상 (위메프 직원 아님)

 

자동화 validation 체크

1. 임의 메뉴에서 배너(이미지)가 정상 노출되었는지

2. 해당 배너 선택 후 진입한 페이지에서 정상적인 코드(200)를 받아왔는지

 

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.

 

 

테스트로 얻을 수 있는 결과

1. 각 프로모션 일정 마다 변경되는 배너(이미지)가 정상으로 설정되었고 노출되는지 매일 자동화 테스트가 수행되며 결과과 공유되기 때문에 서비스 운영에 대한 안정성 확보

 

2. 프로모션 이미지 설정에 실수가 없었더라도 페이지 링크가 잘못되어 정상 응답(200)이 안오는 경우가 있을 수 있어 (1)결과와 더불어 크로스 체크

Selenium 초기 설정

1. 최초 selenium 자동화 스크립트 환경설정 부분에 대한 설명입니다.

System.setProperty("webdriver.chrome.driver", "D:\\chromedriver\\chromedriver.exe"); // 드라이버 파일 경로

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); // 해당 브라우저의 속성을 저장하기위한 브라우저 지정

capabilities.setCapability("marionette", true); // 해당 브라우저의 속성을 저장하기위한 코드

driver = new ChromeDriver(); //크롬 드라이버 지정

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); // 10초 이상 대기 시 fail처리

 

현재 도메인 접근 시 응답 받은 응답코드를 기준으로 PASS / FAIL 을 판한다는 자동화 스크립트를 작성하는 방법입니다.

 

왜 필요한가?

- selenium 으로 자동화 테스트 케이스 작성 시 단순 element 값을 기준으로 테스트하는 경우가 많은데, 막상 자동화를 돌리면 element만 체크하는 스크립트에서 오류가 발생되는 상황도 왕왕 있고 추후 리포트 발생 시 테스트 결과에 대한 좀 더 명확한 근거 자료로 사용될 수 있다고 생각합니다. 

 

스크립트

1. 네트워크 응답값을 받아 오는 방법

URL url = new URL(driver.getCurrentUrl());

HttpURLConnection connection = (HttpURLConnection)url.openConnection();

connection.setRequestMethod("GET");

connection.connect();

  

int code = connection.getResponseCode();

 

1-1. 사용 예)

if (code == (404)) {    // code 값이 404면 캡처

takeScreenshotofpage(driver, screenpath + getDateTimeStamp() + "_Failcase." + Thread.currentThread().getStackTrace()[1].getMethodName() + ".png"

);

}

Assert.assertEquals(200, code);   // 위에서 받은 code값이 200이 아니면 fail 처리

 

1-2 스크립트 설명

네트워크 응답값을 code 변수에 받아 404가 떴을 경우 화면을 캡쳐한다.

캡쳐 후 code 값이 200이 아닐경우 test에서 fail로 처리하게 함

 

 

 

+ Recent posts