Your SlideShare is downloading. ×
0
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Python andselenium
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Python andselenium

1,330

Published on

1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,330
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
1
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Python And Selenium charsyam@naver.com
  • 2. Selenium 셀레늄. 브라우저 자동화 도구. 브라우저에 대한 UI 테스트시 사용된다. http://www.seleniumhq. org/download/
  • 3. Selenium 설치 테스트 환경: Linux Ubuntu, Firefox java -jar selenium-server-standalone-2.35.0.jar pip install -U selenium
  • 4. 샘플 #1 from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yahoo.com") # Load page assert "Yahoo!" in browser.title elem = browser.find_element_by_name("p") # Find the query box elem.send_keys("seleniumhq" + Keys.RETURN) time.sleep(0.2) # Let the page load, will be added to the API try: browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]").click() except NoSuchElementException: assert 0, "can't find seleniumhq" browser.close()
  • 5. 시연 #1
  • 6. 나쁜 짓에도 할 수 있을듯... 추석 표 예매? 또는 영화 표 예매?
  • 7. 기차표를 예매한다면 어떤 것들이 필요할까? 1. 브라우저 실행/특정 페이지 이동 2. 폼 전달/특정 태그 선택 후 클릭 3. 경고창 4. select/option 태그 값 변경 5. 종료
  • 8. 브라우저 실행/특정 페이지 이동 1. driver = webdriver.Firefox() 2. driver.get("http://www.korail.com/2012/index.jsp")
  • 9. 특정 버튼 찾아서 클릭 driver.find_element_by_link_text("로그인").click()
  • 10. Form 채우기 driver.find_element_by_name('txtMember').send_keys (id) driver.find_element_by_name('txtPwd').send_keys(pw)
  • 11. 경고창 alert = driver.switch_to_alert() time.sleep(2) alert.accept() 적절한 딜레이가 필요
  • 12. select/option tag select = driver.find_element_by_name("txtPsgFlg_1") options = select.find_elements_by_tag_name("option") for option in options: if num == option.get_attribute("value"): option.click()
  • 13. 브라우저 종료 driver.close()
  • 14. 시연2
  • 15. Tip 1. Selenium IDE를 사용하면 정보를 찾기 쉽다. 2. 적절한 딜레이를 줘야 정상적으로 동작한다. 3. 예외 처리를 잘 해둬야 한다.
  • 16. 결론 1. 이번 기차표 예매는 큰 도움은 안됬음. - 서버가 뻗어서 일단 예상대로 동작 안함. 2. 페이지 소스가 자주 바뀌면 이에 따라 계속 수 정이 필요함. 3. 그럼에도 불구하고, 배우고 쓸만한 가치가 있 음. 웹 UI 테스트 자동화등 - 실제 서비스 테스트 사례도 많음.

×