자동화테스트/Selenium2018. 12. 24. 20:00



Selenium은 Python을 지원 하므로 테스트를 위해 Selenium과 함께 사용할 수 있습니다.

  • 파이썬은 다른 프로그래밍 언어에 비해 쉽고 훨씬 덜 장황하다.
  • Python API를 사용하면 Selenium을 통해 브라우저에 연결할 수 있습니다.
  • Selenium은 브라우저 디자인의 변형에도 불구하고 표준 Python 명령을 다른 브라우저로 보냅니다.

Firefox, Chrome, IE 등을위한 Python 스크립트를 실행할 수 있습니다. 다른 운영 체제.

이 튜토리얼에서는,

파이썬이란 무엇입니까?

파이썬은 높은 수준의 객체 지향 스크립팅 언어입니다. 그것은 사용자 친화적 인 방식으로 설계되었습니다. 파이썬은 해석하기 쉬운 간단한 영어 키워드를 사용합니다. 다른 프로그래밍 언어보다 문법 복잡성이 적습니다.

아래 표의 몇 가지 예를 참조하십시오.

KeywordMeaningUsage
elifElse ifElse if
elseElseif: X; elif: Y; else: J
exceptdo this ,If an exception happens,except ValueError, a: print a
execRun string as Pythonexec 'print "hello world !"'

셀레늄이란 무엇입니까?

Selenium은 웹 응용 프로그램을 테스트하는 도구입니다. 다양한 방법으로이를 수행 할 수 있습니다 (예 :

  • 버튼 누르기 허용
  • 구조에 내용 입력
  • 사이트를 탈피하여 모든 것이 "OK"인지 확인하는 등의 작업을 수행하십시오.

Selenium에서 Python for Java를 선택해야하는 이유

파이썬이 자바 보다 셀레늄과 함께 사용하는 것이 바람직한 점은,

1. Java 프로그램은 Python 프로그램에 비해 느리게 실행되는 경향이 있습니다.

2. 자바는 전통적인 중괄호를 사용하여 블록을 시작하고 끝내고 파이썬은 들여 쓰기를 사용합니다.

3. Java는 정적 유형 지정을 사용하는 반면 Python은 동적 유형 지정을 사용합니다.

4. 파이썬은 자바에 비해 간단하고 컴팩트합니다.

Eclipse에 PyDev 설치 및 구성

PyDev는 Eclipse 용 Python 개발 환경입니다.

1 단계) Eclipse Marketplace를 방문하십시오. Help > Eclipse Marketplace

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

이제 플러그인 'eclipse market place'가 열립니다. 다음 단계는 Eclipse 용 "pydev IDE"를 설치하는 것입니다.

단계 2) 이 단계에서,

  1. 검색 창에서 "pydev"를 검색 한 다음
  2. install를 클릭하십시오 (내 시스템에 이미 설치되어 있음).

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

3 단계) 확인란을 선택하십시오. 그것은 'PyDev.' 첫 번째 확인란은 필수이며 두 번째 확인란은 선택 사항입니다. 확인란을 선택하고 'Next'을 누릅니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

단계 4) 이제 , 당신은 환경 설정을 설정합니다이 단계이다. 환경 설정 옵션을 사용하면 프로젝트 필요에 따라 Python을 사용할 수 있습니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

Windows> Preferences> Interpreter-Python으로 이동하십시오. "OK"버튼을 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

'OK'버튼을 클릭하면 새 창이 열립니다. 이 창에서 다음 단계를 수행하십시오.

  • 인터프리터 드롭 다운에서 Interpreter-Python 옵션을 선택합니다. Python 스크립트를 실행하는 데 도움이됩니다.
  • 또한 Workbench 시간 간격을 설정하십시오. 빌드가 수행되면 Workbench는 마지막 빌드 이후에 변경된 모든 자원을 자동으로 저장합니다.
  • 'OK'버튼을 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

"OK"버튼을 클릭하면 기본 파이썬 인터프리터가 설정됩니다. Java 코드를 실행하기 위해 Java 컴파일러를 설정해야하는 것과 같습니다. 인터프리터 이름을 변경하려면 Python Tab을 두 번 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

5 단계) 이 단계에서는 파이썬의 "interpreter name"과 "exe file name"을 제공합니다.

  1. 'Browse'를 클릭하고 python.exe "C : \ Python27 \ python.exe"를 찾으십시오.
  2. 'OK'버튼을 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

6 단계) 파이썬으로 새 프로젝트 만들기. 이 단계에서,

  1. Package Explorer > New >
  2. option others. 선택하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

새로운 Python (PyDev) 프로젝트가 생성 된 것을 볼 수 있습니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

단계 7) 이 단계에서,

  1. 'PyDev Project'를 선택하고
  2. 'Next'버튼을 누릅니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

'PyDev Project'를 생성 한 후에는 새로운 Python 패키지를 생성하게됩니다.

8 단계) 새로운 파이썬 패키지를 만든다. 이름을 입력 한 후 "Finish"버튼을 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

아래 스크린 샷을 보면 새 패키지가 만들어집니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

새 패키지를 만든 후 다음 단계는 PyDev Module을 만드는 것입니다. 모듈은 초기화를위한 somePython 파일을 포함합니다. 모듈의 이러한 파일 또는 기능을 다른 모듈로 가져올 수 있습니다. 따라서 프로그램을 다시 작성할 필요가 없습니다.

9 단계) 새로운 PyDev 모듈을 만듭니다. package > New >Other>PyDev module에서 마우스 오른쪽 버튼으로 클릭하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

10 단계) 파이썬 코드를 작성하십시오.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

Python으로 Selenium에서 테스트 스크립트 작성

  • 이 예에서는 Firefox 드라이버를 사용하여 "Facebook 로그인 페이지"에 대한 자동화를 수행했습니다.

예 1

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user = ""
pwd = ""
driver = webdriver.Firefox()
driver.get("http://www.facebook.com")
assert "Facebook" in driver.title
elem = driver.find_element_by_id("email")
elem.send_keys(user)
elem = driver.find_element_by_id("pass")
elem.send_keys(pwd)
elem.send_keys(Keys.RETURN)
driver.close()

코드 스냅 샷

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

코드 설명

  • 코드 줄 1 : 셀레늄 모듈 가져 오기 webdriver에서
  • 코드 줄 2 : 셀렌 모듈 가져 오기 키에서
  • 코드 줄 3 : 사용자는 사용자 이름 값을 저장하는 데 사용되는 빈 변수입니다.
  • 코드 줄 4 : pwd는 비어 있습니다 (여기서는 비어 있지만 사용자가 값을 제공 할 수 있음). 암호의 값을 저장하는 데 사용됩니다.
  • 코드 라인 5 :이 라인에서, 우리는 "FireFox"를 초기화함으로써 객체를 만듭니다.
  • 코드 줄 6 : "driver.get method"는 URL.WebDriver에 의해 주어진 페이지를 탐색하여 페이지가 완전히로드 될 때까지 기다립니다 (즉, "onload"가 발생했을 때). 귀하의 테스트 또는 스크립트.
  • 코드 줄 7 : "Asserts"키워드는 조건을 확인하는 데 사용됩니다. 이 줄에서는 제목이 맞는지 여부를 확인합니다. 이를 위해 제목과 주어진 문자열을 비교합니다.
  • 코드 줄 8 :이 줄에서는 "email"을 작성해야하는 텍스트 상자의 요소를 찾습니다.
  • 코드 줄 9 : 이제 이메일 섹션에 값을 보냅니다.
  • 코드 줄 10 : 암호와 동일
  • 코드 줄 11 : 암호 섹션에 값 보내기
  • 코드 줄 12 : Elem.send_keys (Keys.RETURN)는 값이 삽입 된 후 Enter 키를 누르는 데 사용됩니다.
  • 코드 줄 13 : 닫기

산출

사용자 이름 "guru99"의 값과 암호가 입력되었습니다.

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

Facebook 페이지는 이메일과 비밀번호로 로그인합니다. 페이지가 열렸습니다 (아래 이미지 참조).

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

보기 2

이 예에서,

  • 로그인 페이지가 열립니다.
  • 필수 필드 인 "username"과 "password"를 채우십시오.
  • 그런 다음 로그인이 성공했는지 여부를 검증하십시오.
from   selenium import webdriver
from   selenium.common.exceptions import TimeoutException
  
browser = webdriver.Firefox()
browser.get( www.facebook.com )
  
username = browser.find_element_by_id( "guru99" )
password = browser.find_element_by_id( "password@123" )
submit   = browser.find_element_by_id( "submit"   )
  
username.send_keys( "me" )
password.send_keys( "mykewlpass" )
  

submit.click()
  

wait = WebDriverWait( browser, 5 )
  
try:
page_loaded = wait.until_not(
lambda browser: browser.current_url == login_page
)
except TimeoutException:
self.fail( "Loading timeout expired" )
  
self.assertEqual(
browser.current_url,
correct_page,
msg = "Successful Login"
)

코드 스냅 샷

Python에서 Selenium을 사용하는 방법 : 완전한 튜토리얼

코드 설명 :

  • 코드 라인 1-2 : 셀렌 패키지 가져 오기
  • 코드 라인 4 : 객체를 생성하여 Firefox 초기화하기
  • 코드 줄 5 : 로그인 페이지 가져 오기 (Facebook)
  • 코드 줄 7-9 : 사용자 이름, 비밀번호 입력 상자 및 제출 버튼을 가져옵니다.
  • 코드 줄 11-12 : 사용자 이름 및 암호 입력 상자에 텍스트 입력
  • 코드 줄 15 : "Submit"버튼을 클릭하십시오.
  • 코드 줄 18 : 5 초의 대기 시간을 가진 대기 개체를 만듭니다.
  • 코드 줄 20 -30 : 브라우저의 URL이 변경되었는지 확인하여 로그인이 성공했는지 테스트하십시오. URL이 올바른 로그인 후 페이지임을 주장하십시오.

    참고 : 위 시나리오의 경우 출력이 없습니다. 이 예제에서는 유효한 URL이 사용되지 않았기 때문에.

요약 :

  • Selenium은 오픈 소스 웹 기반 자동화 도구입니다.
  • Python 언어는 테스트를 위해 Selenium과 함께 사용됩니다. 다른 프로그래밍 언어보다 사용하기가 훨씬 쉽고 사용하기 쉽습니다.
  • Python API를 사용하면 Selenium을 통해 브라우저에 연결할 수 있습니다.
  • Selenium은 브라우저 디자인의 변형에도 불구하고 표준 Python 명령을 다른 브라우저로 보낼 수 있습니다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터