Study_Note

Appium (with python) 본문

temp

Appium (with python)

12월7일생 2023. 12. 11. 15:50
728x90
반응형

Appium 소개

 

Appium은 크로스 플랫폼 모바일 애플리케이션을 테스트하기 위한 오픈 소스 자동화 도구입니다. Appium은 iOS, Android, 및 Windows 애플리케이션을 지원하며, 모바일 플랫폼 간에 코드를 다시 작성하지 않고 테스트 코드를 재사용할 수 있도록 해줍니다.

주요 특징과 개념은 다음과 같습니다:

1. 크로스 플랫폼 지원
   - Appium은 iOS, Android, 및 Windows 플랫폼을 모두 지원합니다. 이는 개발자 및 테스터가 동일한 코드베이스를 사용하여 여러 플랫폼에 대한 테스트를 수행할 수 있도록 합니다.

2. 자연어로 된 테스트 스크립트 작성
   - Appium은 Selenium WebDriver를 확장하여 자연어로 된 테스트 스크립트를 작성할 수 있도록 지원합니다. 이는 테스트 코드를 읽기 쉽게 만들고 이해하기 쉽도록 도와줍니다.

   javascript

// Appium JavaScript 예제
const wd = require('wd');
const driver = wd.promiseChainRemote({ host: '127.0.0.1', port: 4723 });

driver
  .init({ deviceName:'iPhone Simulator', platformName:'iOS', platformVersion:'9.3' })
  .get('http://appium.io')
  .elementById('mobile@1.0.0')
  .click()
  .elementById('get started')
  .should.eventually.exist
  .back()
  .elementById('local')
  .should.eventually.exist
  .back()
  .finally(() => driver.quit());



3. 다양한 언어 및 테스트 프레임워크 지원
   - Appium은 여러 언어 및 테스트 프레임워크를 지원합니다. Java, Python, JavaScript, C#, Ruby 등의 언어를 사용하고 JUnit, TestNG, NUnit, Mocha, 등의 테스트 프레임워크를 선택할 수 있습니다.

4. 모바일 애플리케이션 유형 지원
   - Native 앱, 하이브리드 앱, 그리고 모바일 웹 앱을 모두 지원합니다. 이는 다양한 모바일 애플리케이션 유형에 대한 테스트를 수행할 수 있도록 합니다.

5. 실제 기기 및 에뮬레이터/시뮬레이터 지원
   - Appium은 실제 기기와 에뮬레이터 또는 시뮬레이터를 모두 지원합니다. 이는 다양한 환경에서 애플리케이션을 테스트할 수 있도록 합니다.

Appium은 많은 모바일 앱 테스터와 개발자들 사이에서 널리 사용되고 있으며, 오픈 소스로 제공되어 커뮤니티 기여와 지속적인 업데이트가 이루어지고 있습니다.

 

 

https://github.com/appium

 

Appium

Mobile App Automation Made Awesome. Appium has 100 repositories available. Follow their code on GitHub.

github.com


Appium with python

 

Appium을 파이썬으로 활용하여 모바일 애플리케이션을 테스트하는 것은 가능합니다. Appium은 다양한 언어를 지원하며, 파이썬으로 테스트 코드를 작성하는 것은 다소 간단하고 효과적입니다. 아래는 Appium과 파이썬을 활용하여 간단한 테스트를 수행하는 예제입니다.

Appium 설치
먼저 Appium을 설치하고 실행합니다. Node.js와 npm이 설치되어 있어야 합니다. 아래 명령어로 Appium을 설치할 수 있습니다.

bash

npm install -g appium



Appium 서버 실행
Appium 서버를 실행합니다. 명령어는 다음과 같습니다.

bash

appium



Appium Python 클라이언트 설치
Appium Python 클라이언트를 설치합니다.

bash

pip install Appium-Python-Client



파이썬으로 Appium 테스트 코드 작성
이제 Appium을 사용하여 파이썬으로 테스트 코드를 작성할 수 있습니다.

python

from appium import webdriver
from time import sleep

desired_caps = {
    'platformName': 'Android',
    'platformVersion': '9',
    'deviceName': 'emulator-5554',
    'app': 'path/to/your/app.apk',  # 애플리케이션 APK 파일 경로
    'appPackage': 'your.app.package',  # 애플리케이션 패키지 이름
    'appActivity': 'your.app.activity',  # 애플리케이션 액티비티 이름
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 테스트 코드 작성
element = driver.find_element_by_id('your_element_id')
element.click()

# 다양한 액션 수행 가능
# ...

# 테스트 종료 후 앱 종료
driver.quit()



이 예제에서는 Appium Python 클라이언트를 사용하여 안드로이드 애플리케이션을 테스트하고 있습니다. `desired_caps` 딕셔너리에는 테스트하고자 하는 디바이스 및 애플리케이션의 정보를 설정합니다. 테스트 코드에서는 Appium WebDriver의 메소드를 사용하여 앱과 상호작용합니다.

애플리케이션의 구조와 테스트하고자 하는 기능에 따라 코드를 작성하여 테스트를 진행할 수 있습니다. 이때 애플리케이션의 UI 요소를 식별하기 위해 애플리케이션의 소스 코드를 확인하거나, Appium Inspector 등을 사용하여 요소의 ID, 클래스명 등을 파악하는 것이 도움이 됩니다.

'temp' 카테고리의 다른 글

agile development methodology  (0) 2024.03.12
python  (0) 2023.12.14
Android Studio (with testing)  (0) 2023.12.11
Node.js (with testing)  (0) 2023.12.11
how to switch to iOS developer mode  (1) 2023.12.07