Appium - Python 코드로 Appium 실행

정태경·2022년 1월 15일
0
post-thumbnail

파이썬 코드로 Appium 실행해보기

테스트 프레임 워크는 무엇을 쓸까? pytest vs unittest

나는 그냥 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):
        # 테스트 종료 후 수행해야하는 코드 작성

unittest 를 활용하여 appium 을 실행해보면?

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

profile
現 두나무 업비트 QA 엔지니어, 前 마이리얼트립 TQA 엔지니어

0개의 댓글