Python 3+Appium 설치 사용 강좌

설치 하 다
selenium 은 데스크 톱 브 라 우 저 자동화 작업 도구(Web Browser Automation)라 는 것 을 알 고 있 습 니 다.
appium 은 selenium 자동화 사상 을 계승 하여 모 바 일 앱 조작 도 자동화 할 수 있 도록 하 는 도구(Mobile App Automation Made Awesome)다.
appium 은 Desktop App 과 npm 두 가지 방식 으로 설치 할 수 있 습 니 다.Desktop App 은 selenium IDE 와 유사 하 게 그래 픽 인터페이스 식 조작 도 구 를 제공 합 니 다.npm 는 selenium 과 유사 하면 명령 행 만 사용 할 수 있 습 니 다.
만약 에 appium 에 대해 잘 모 르 면 Desktop App 으로 설치 하 는 것 을 추천 합 니 다.이런 조작 은 데스크 톱 App 으로 코드 를 출력 하고 코드 를 쓸 때 참고 할 수 있 습 니 다.
1.1 Android SDK 설치
안 드 로 이 드 폰 을 조작 하려 면 안 드 로 이 드 SDK 가 필요 하기 때문에 앱 ium 을 설치 하기 전에 안 드 로 이 드 SDK 를 먼저 설치한다.
Android Studio 를 직접 설치 하고 Android Studio 를 사용 하여 SDK 를 설치 하 는 것 을 추천 합 니 다.
메뉴-tools-SDK Manager,설치 할 버 전 을 선택 하고 Apply 를 클릭 하여 다운로드 하면 됩 니 다.

Android SDK 설치 완료 후 새 ANDROIDHOME 환경 변수,위의 Android SDK Location 의 디 렉 터 리 값 입 니 다.(여 기 는"D:\Language\ASDK"입 니 다.)

1.2 Desktop App 으로 설치(추천)
다운로드 주소:https://github.com/appium/appium-desktop/releases
운영 체제 에 대응 하 는 버 전 을 선택 하여 다운로드 하고,윈도 우 는 직접 두 번 눌 러 서 설치 하면 된다.

1.3 npm 로 설치
1.3.1 nodejs 설치
appium 은 본질 적 으로 nodejs 라 이브 러 리 이기 때문에 nodejs 를 설치 한 다음 npm 로 설치 해 야 합 니 다.
nodejs 다운로드 주소:https://nodejs.org/zh-cn/download/
zip 패 키 지 를 다운로드 하여 원 하 는 디 렉 터 리 에 압축 을 풀 고 이 디 렉 터 리 를 Path 환경 변수 에 추가 하면 됩 니 다.
1.3.2 appium 설치

npm install -g appium
appium 을 설치 하 는 과정 에서 chromedriver 를 설치 할 때 google 사이트 에 연결 합 니 다(RequestError:Error:connect ETIMEDOUT 216.220.208:443).따라서 다음 명령 을 참고 하여 npm 대 리 를 설정 해 야 할 수도 있 습 니 다.

#     
npm config set proxy http://127.0.0.1:1080
npm config set https-proxy http://127.0.0.1:1080

#            
npm config set proxy http://username:[email protected]:1080
npm config set https-proxy http://username:[email protected]:1080

#   npm  
npm config set registry https://registry.npmjs.org

#       
npm config delete proxy
npm config delete https-proxy
1.3.3 appinum-doctor 를 사용 하여 환경 설정 에 오류 가 없 음 을 확인 합 니 다.

npm install -g appium-doctor
appium-doctor --android

2.핸드폰 연결 appium
2.1 appium 서비스 시작
npm 를 통 해 설치 되 어 있 으 면 appium 은 nodejs 디 렉 터 리 에 설치 되 어 있 으 며,직접 appium 명령 으로 시작 하면 됩 니 다.

데스크 톱 앱 으로 설치 합 니 다.설치 가 완료 되면 데스크 톱 아이콘 인터페이스 를 두 번 누 르 면 다음 과 같 습 니 다.

기본 설정 을 사용 해도 수정 되 지 않 습 니 다."Start Server"단 추 를 누 르 면 시작 합 니 다.

2.2 핸드폰 데이터 라인 으로 컴퓨터 연결
데이터 라인 을 사용 하여 핸드폰 을 appium 을 여 는 컴퓨터 에 연결 하고 usb 디 버 깅 기능 을 엽 니 다.연결 이 성 공 했 는 지 확인 하려 면 adb 명령 을 사용 하 십시오.

adb devices -l

사용 예시
다음은 python 3+appium 으로 위 챗 을 열 고 로그 인하 여 프 리 젠 테 이 션 을 진행 합 니 다.python 조작 appium 은 appinium 의 감청 포트 에 메 시 지 를 보 내 는 것 을 통 해 이 루어 지기 때문에 python 은 어떤 appium 라 이브 러 리 를 설치 하지 않 아 도 됩 니 다.
3.1 데스크 톱 앱 에서 위 챗 을 열 고 로그 인

다음 네 가지 값 을 추가 하고 완료 후"Start Session"을 누 르 십시오.
platformName-장치 플랫폼.Android 또는 IOS 입력
장치 이름위 adb 에서 찾 아 낸 장치 이름 으로 작성 하면 됩 니 다.
app Package-시작 할 app 의 패키지 이름 입 니 다.위 챗 은"com.tencent.mm"입 니 다.
app Activity-시작 할 인터페이스 입 니 다.위 챗 시작 화면 은"ui.LauncherUI"입 니 다.

{
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

xml 컨트롤 을 선택 하면 해당 부분 이 밝 게 표 시 됩 니 다.

클릭 하여 녹 화 를 시작 한 다음 에 이 appium 인터페이스 에서 조작 합 니 다(자신 이 직접 핸드폰 에서 조작 하지 않 음 을 주의 하 십시오).조작 과정 이 기록 되 고 이 과정 에 대응 하 는 python 코드 를 출력 할 수 있 습 니 다.

조작 과정 이 기록 되 고 Recorder 아래 에서 언어 를 선택 하면 조작 에 대응 하 는 코드 를 출력 할 수 있 습 니 다.

3.2 전체 코드 자동화 로그 인 실현
Desktop App 은 인터페이스 에서 작 동 하 는 코드 를 제 시 했 습 니 다.전체 코드 자동 화 는 이 인터페이스 를 여 는 코드 일 뿐 입 니 다.
우선 의존 라 이브 러 리 두 개 를 설치 하 겠 습 니 다.

pip install Appium-Python-Client Selenium
코드 보완 은 다음 과 같 습 니 다.Appium-python-client 는 Selenium 에서 계승 되 었 기 때문에 사용 방법 은 selenium 과 유사 합 니 다.더 많은 api 작업 은 다음 과 같 습 니 다https://github.com/appium/python-client

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# appium      
server='http://localhost:4723/wd/hub'
# app    
desired_caps={
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

#   
driver = webdriver.Remote(server,desired_caps)
wait = WebDriverWait(driver,30)
#       
login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/drp")))
#       
login_btn.click()
#         
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji")))
#         
phone_text.send_keys("18888888888")
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기