나는 그냥 python 내장 프레임워크인 unittest 를 쓰기로 했다. 장단점이 잘 정리된 블로그가 있어 첨부하니 참고하면 좋을 듯 하다.
unittest 를 활용하기 위해서는 반드시 Class 기반으로 코드가 작성되어야 한다. unittest 는 대략 아래와 같이 동작한다.
import unittest
class SampleTest(unittest.TestCase):
def setUp(self):
# 테스트 실행 전 수행해야하는 코드 작성
def test_case_1(self):
# 테스트 케이스 작성
def test_case_2(self):
# 테스트 케이스 작성
def tearDown(self):
# 테스트 종료 후 수행해야하는 코드 작성
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
class SampleTest(unittest.TestCase):
def setUp(self):
app = os.path.join(os.path.dirname(__file__), '/Users/taekyeong.jung/Desktop/workspace/','myrealtrip.apk')
app = os.path.abspath(app)
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'app': app,
'platformName': 'Android',
'udid': 'emulator-5554',
'platformVersion': '11.0',
'automationName': 'uiautomator2',
'appPackage': 'com.mrt.ducati.dev',
'appActivity': 'com.mrt.ducati.LauncherActivity',
'chromeOptions': {'w3c': False}
})
def test_case_1(self):
self.driver.find_element(MobileBy.ID, "com.mrt.ducati.dev:id/btn_positive").click()
#assert 는 생략했음
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
reference
https://docs.python.org/ko/3/library/unittest.html
https://www.bangseongbeom.com/unittest-vs-pytest.html