반응형

'Selenium webdriver 로 웹페이지 띄우기' 를 진행하며 chrome webdriver를 실행했는데, 아래와 같은 warning이 뜨는 경우가 있습니다.

 

DeprecationWarning: executable_path has been deprecated, please pass in a Service object 

 

이런 경우 service 키워드를 사용하면 됩니다.

 

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
driver.get(url='https://www.google.com/')

driver.quit()

 

아래는 실행 결과후 console 창에 

 

참고 : 

반응형
반응형

Selenium webdriver로 웹페이지 띄우기(1) 에서는 chromedriver를 직접 다운 받아서 폴더에 넣고 경로를 지정해서 웹페이지 띄우는 방법을 보여드렸습니다.

 

chromedriver를 다운 받는 것은 어느 사이트를 보던 흔하게 있는 예제였는데요, 제가 이번에 보여드릴 예제는 webdriver-manager 라는 패키지를 설치함으로서 chromedriver 설치 및 경로 지정 없이 사용하는 방법을 알려드리겠습니다.

 

먼저, 새로운 프로젝트를 만들거나 혹은 지난 시간에 했던 프로젝트에 새로운 python 파일을 만듭니다.

 

저는 새로운 프로젝트를 만들었습니다. (새로운 프로젝트 생성 시, selenium 을 다시 설치하셔야 합니다.)

지난 시간에 selenium 설치하는 방법을 터미널을 통해 패키지를 설치하거나 pycharm IDE의 python interpreter 를 통해 패키지를 설치하는 방법을 알려드렸는데요, 이번에도 동일하게 어떤 것을 사용하시던 무방합니다.

 

다시 한번 복습겸 방법을 알려드리면 아래와 같습니다.

 

 첫번째 : 터미널로 pip install webdriver-manager 를 입력하고 엔터를 치면 설치가 됩니다.

 두번째 : File -> Settings -> Project: XXXX 로 적혀있는 부분 클릭 -> Python Interpreter 클릭 -> 여기서 [+] 버튼 클릭 -> 검색창에 webdriver-manager를 입력 후 [Install Package] 버튼을 클릭하면 됩니다.

webdriver-manager 패키지가 설치되고 나면 팝업창을 전부 닫아주세요.

 

저는 이전 시간과 마찬가지로 main.py 를 전부 지우고 작성하겠습니다.

하기와 같이 명령어를 입력하시면 됩니다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url='https://www.google.com/')

driver.quit()

전체를 보면 아래와 같습니다.

실행을 해보도록 하겠습니다. 실행은 마우스 오른쪽 버튼을 클릭하고, Run 'main' 하시거나 단축키 Control + Shift + F10 을 누르면 크롬 브라우저로 구글 웹페이지가 열렸다가 닫히는 것을 보실 수 있습니다. 

이전과 달라진 소스코드는 아래 영역으로, chromedriver를 다운 받아서 경로 지정하는 부분이 ChromeDriverMaanager().install() 로 경로 지정할 필요없이 알아서 설치가 되는 장점이 있습니다.

driver = webdriver.Chrome(ChromeDriverManager().install())

 

소스코드 : 

 

GitHub - grafeen/selenium_ex02

Contribute to grafeen/selenium_ex02 development by creating an account on GitHub.

github.com

 

 

반응형
반응형

테스트 자동화 도구는 상용 및 오픈소스가 있지만 Selenium 이라는 오픈소스를 전세계적으로 가장 많은 사람들이 사용하고 있습니다.

 

그 이유는 다양한 환경에서 지원하며 요소 로케이터를 Xpath, ID, CSS 와 같은 다양한 방식으로 지원. Java, Perl, PHP 등과 같은 다양한 언어를 지원하고 있으며 인터넷에서 많은 정보가 공개되어 있기 때문입니다.

 

Selenium은 단순한 도구나 유틸리티가 아니라 여러 테스트 도구의 패키지이며 이와 같은 이유로 Suite라고합니다. 이러한 각 도구는 다양한 테스트 및 테스트 환경 요구 사항을 충족하도록 설계되었습니다.

 

Suite 패키지는 다음 도구 세트로 구성됩니다.

  • Selenium 통합 개발 환경 (IDE) – Selenium IDE는 기록 및 재생 도구로 테스트 케이스를 컴퓨터가 실행할 수 있는 스크립트로 변환하는 방법 중 대표적인 것으로 Firefox Plugin을 통해 구현됩니다.
  • Selenium RC – Selenium Webdriver가 나오기전에 있었던 버전으로 사용자가 원하는 프로그래밍 언어로 테스트 스크립트를 작성할 수있는 서버입니다.
    > 한정적으로 지원되는 브라우저 내에서 테스트 스크립트를 실행할 수 있습니다.
    > 테스트 스크립트를 실행하기 전에 서버를 시작해야 합니다.
    > Android 애플리케이션 테스트 지원 안합니다.

  • Selenium Grid – Selenium Grid는 여러 플랫폼과 환경에서 동시에 테스트 수행하는데 사용됩니다.

  • Selenium WebDriver – WebDriver는 Selenium RC에 비해 다양한 장점이있는 완전히 다른 도구입니다.
    > WebDriver는 웹 브라우저와 직접 통신하고 기본 호환성을 사용하여 자동화합니다.
    > GUI가 없거나 헤드리스 브라우저인 HtmlUnitDriver를 지원합니다.
    > iPhone / Android 애플리케이션의 테스트를 효율적으로 지원하도록 설계되었습니다.
반응형

+ Recent posts