반응형
Selenium, Unittest framework
Selenium을 이용하여 테스트를 자동화하는 방법은 앞서 포스팅한 글정도면 충분하다.
2019.12.29 - [Testing] - Selenium으로 테스트 자동화하기
html tag를 식별한 다음 Selenium API를 호출하는 방법이 전부이기 때문이다.
그리고 Unittest 프레임워크와 함께 활용하면 된다.
본인은 unittest 프레임워크를 아래와 같은 방법으로 작성하는데 참고하면 좋을 것 같다.
아래 프레임워크에서 selenium을 이용하여 테스트케이스를 작성하는 편이다.
import unittest
from selenium import webdriver
class ABCTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
# 해당 클래스가 실행될 때마다 동작해야 하는 함수
# driver 셋팅, 브라우저 오픈 등
cls.driver = webdriver.Chrome(executable_path='드라이버 패스', options='드라이버 옵션')
cls.driver.get('URL 주소')
@classmethod
def tearDownClass(cls):
# 해당 클래스가 종료될 때마다 동작해야 하는 함수
# driver 종료 등
cls.driver.quit()
def setUp(self):
# 각 테스트케이스가 실행되기 전에 동작해야 하는 함수
# 로그인 등
self.driver.find_element_by_id('태그이름').click()
def tearDown(self):
# 각 테스트케이스가 종료될 때 동작해야 하는 함수
# 로그아웃 등
def test_case1(self):
# ABC Test의 테스트케이스 함수
def test_case2(self):
# ABC Test의 테스트케이스 함수
def ABCTestSuite():
# TestSuite로 활용하기 위한 함수
suite = unittest.TestSuite()
suite.addTest(ABCTest('test_case1'))
suite.addTest(ABCTest('test_case2'))
return suite
if __name__ == '__main__' :
runner = xmlrunner.XMLTestRunner(output='test_result'
runner.run(ABCTestSuite())
Selenium Tips)
1. 파일을 import 하는 방법
import selenium
# 클래스 내에서 사용한다고 가정
self.driver.find_element_by_id('태그 아이디입력').send_keys('파일명 입력')
2. Dropdown으로부터 값 선택하기
from selenium.webdriver.support.ui import Select
# 클래스 내에서 사용한다고 가정
select = Select(self.driver.find_element_by_id('태그 아이디 입력')
select.selct_by_index(인덱스숫자 입력)
3. Alert 다루기
import selenium
# 클래스 내에서 사용한다고 가정
self.driver.switch_to_alert().accept()
반응형
'Testing' 카테고리의 다른 글
SW Testing (소프트웨어 테스트 이론) (0) | 2020.01.11 |
---|---|
파이썬 Unit Testing Framework (0) | 2019.12.31 |
파이썬 셀레니움(Selenium)으로 테스트 자동화 (0) | 2019.12.29 |