저는 핀테크 서비스 개발 프로젝트에 참여하여 CI 구축과 QA 자동화 부분 개발을 담당하였습니다.
프로젝트가 시작하면 수 많은 개발자들과 기획자 그리고 QA 들이 다투는 것은 빈번한 일상입니다..
바쁜 개발 과정에서 기본적인 로그인 함수의 구현을 계속해서 체크해야 하는 것은 매우 불편하고 번거롭죠.
Selenium과 Jenkins를 통해 다음과 같은 상황을 자동화하여 개발자들과 QA/기획자들간의 갈등을 줄이고자 합니다.
스크린샷 중 가린부분들은 현재 회사 프로젝트 유출 방지를 위한 것이니 너그러이 용서해주시길..
19. SELENIUMTIPS
• 2) Firebug, Firepath설치 (Firefox 확장 프로그램)
Selenium은 id, class 등의 값으로 item(?) 인식
간혹 개발자들의 실수로 item 간의 id, class 구별 없이 개발!
-> Selenium 이상 현상 발생
Firepath를 설치하여 각 item 들의 Xpath(절대 경로)를 넣어주면 이상현상 발생 방지
Ex) id가 email인 item이 많아서 selenium이 인식하기 어려울 때
driver.find_element_by_id("email").click()
대신
driver.find_element_by_xpath(".//*[@id='footerNav']/ul/li[2]/span").click()
20. SELENIUMTIPS
• 3) IE, Chrome을 열 때
Selenium의 기본 브라우저는 Firefox.
driver = webdriver.Firefox()
간단히 열 수 있다.
하지만 Ie, Chrome은
driver = webdriver.Ie()
driver = webdriver.Chrome() 명령어를 실행할 경우 에러가 발생한다.
IEDriverServer, chromedriver를 설치한 후 path 설정을 완료한 후에
driver = webdriver.Ie("C:IEDriverIEDriverServer.exe")
driver = webdriver.Chrome('C:chromedriverchromedriver.exe')
의 명령어로 실행해야 한다.