본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

IT 개발테스트 Selenium WebDriver

by 3604 2026. 7. 29.
728x90

[Selenium

Selenium WebDriver는 웹 브라우저를 통해 제공되는 다양한 서비스를 자동으로 테스트할 수 있도록 지원하는 도구입니다. Selenium WebDriver는 Chrome, Firefox, IE 등 각 브라우저 별로 Webdriver를 제공하는데요, 이 웹 드라이버를 통해 다양한 브라우저에 명령어를 내려서 테스트 수행이 가능하도록 합니다.

일반 테스터가 WebDriver를 이용해서 테스트를 위해서는 어느 정도 개발에 대한 지식이 필요합니다. 아래 사이트에서 관련 드라이버를 다운로으해서 쓰거나 그 사용법을 간단히 알 수 있습니다.

Ruby, Java, Python, C#, JavaScript를 이용해서 웹 드라이버를 활용하여 IE, Safari, Firefox, Edge, Chrome 등을 테스트 가능하도록 개발할 수 있습니다. 참고로 아래 사이트에서 다양한 언어에서 사용 가능하도록 샘플 코드도 제공합니다. https://www.selenium.dev/documentation/en/webdriver/js_alerts_prompts_and_confirmations/

저는 C#으로 Chrome Webdriver를 이용해서 자동으로 원하는 사이트로 이동하는 간단한 샘플로 설명드리고자 합니다. 먼저 아래 그림과 같이 Visual Studio 2019를 실행하고 C#으로 새 프로젝트를 생성합니다.

.Net Framework는 4.5를 선택하도록 하겠습니다. 참고로 OS는 Windows 10입니다.

일단 새 프로젝트를 Windows Form으로 생성합니다.

프로젝트에서 Selenium WebDriver를 사용하기 위해서 NuGet 패키지 관리를 통해 관련 모듈을 다운로드합니다.

관련 패키지는 Selenium.WebDriver과 Selenium.WebDriver.ChromeDriver를 다운로드해 설치합니다.

참고로 크롬 브라어저에서 테스트하기 위해 크롬 관련 패키지를 다운로드했습니다.

간단한 샘플로 텍스트 박스에 url를 치면 크롬 브러우저를 통해 그 사이트로 이동하게 됩니다.

아래와 같이 간단하게 폼을 만들었습니다.

'goto URL'버튼 클릭하게 되면 입력한 사이트로 크롬 브러우저를 띄우면서 이동하게 됩니다.

아래 이미지는 버튼 클릭 시 브라우저를 띄우고 사이트로 이동하게 됩니다.

원하는 사이트를 텍스트 박스에 입력하고 클릭하면 사이트 이동하는 간단한 예제였습니다.

다음 예제는 파이어폭스 브라우저를 띄우고 구글 검색 사이트에서 'cheese'를 검색하는 예제입니다.

위의 동일한 소스에 아래 소스만 추가합니다.

 

그전에 이미 크롬 브라어저에서 설명해 드린 바와 같이 Firefox.webdriver를 다운 받아 설치해야 합니다.

아래 그림을 참고하시기 바랍니다.

동작하게 되면 그림과 같이 검색을 클릭하게 되고 그 결과가 나오는지 체크하고 결과를 콘솔 로그창에 출력하게 됩니다.

위와 같은 예제는 Selenium 사이트(https://www.selenium.dev/documentation/en/)에서 아래와 같이 다양한 개발 언어에 대한 코드 예제를 지원합니다.

좀 더 활용도 있는 예제로 검색 사이트를 통해 다양한 단어를 검색하는 예제를 추가하도록 하겠습니다. 앞에서 개발한 예제 프로그램의 UI를 아래와 같이 업데이트합니다.

'Read TestData' 버튼을 클릭하면 아래와 같이 테스트 데이터를 불러올 수 있습니다.

테스트 데이터 파일을 불러오면 아래와 같이 검색하고자 하는 단어 리스트가 출력됩니다.

'Search Test with Naver(chrome)'버튼을 클릭하게 되면 Chrome 브라어저에서 검색 사이트로 이동하게 되고 원하는 단어를 검색하게 됩니다.

위와 같이 검색에 성공하게 되면 로그에 'Pass'를 찍게 됩니다.

개발된 소스를 설명하면 테스트 데이터를 불러와서 원하는 검색 창에 검색하고자 하는 단어를 입력합니다.

그리고 검색 버튼을 클릭하고 그 결과가 정상적으로 출력되는지 체크해서 'Pass'여부를 출력하게 됩니다.

여기서 검색 버튼 등에 대한 XPath를 찾는 방법은 Chrome 브라우저를 띄우고 원하는 사이트로 가고 F12 버튼을 클릭하면 개발자 창이 뜹니다. 사이트 내에서 원하는 element를 선택하면 소스를 선택하게 되고 XPath를 복사한 후 위 소스에 넣고 클릭 등 이벤트를 하도록 코드를 넣습니다.

위와 같은 방법으로 Chrome borswer의 개발자 모드에서 원하는 element의 XPath를 복사하셔서 넣어주시면 됩니다. 제가 개발한 소스는 간단한 예제이며 더 다양한 예제는 검색해 보시면 많이 찾을 수 있습니다.

참고로 소스 중에서 메인으로 다시 돌아가는 경우 메인 로고를 클릭하도록 했는데 시간이 지나면 변경되더군요.

에러가 발생할 경우 위와 같은 방법으로 로고의 XPath만 변경해서 실행해 보시면 정상적으로 돌아 가리라고 봅니다.

selenium_webdrive_test.zip
6.70MB

제 개발 환경은 Windows 10, Visual Studio 2019이며 개발된 소스와 컴파일 된 실행 파일 및 테스트 데이터도 첨부해 드리겠습니다. 실행 파일은 'WebdriverTest.exe'이며 테스트 데이터 파일은 'testdata.csv'입니다.

 

 

728x90