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")
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
#2_Raspberry Pi 3B+에서 LINE에 일기 예보 알림도쿄에 와서 갑자기 비가 오는 경우가 많습니다. "아침 제대로 일기 예보를 체크해 두면..."라고 후회하는 것이 자주. LINE에 매일 아침 일기 예보를 보내 주시면 좋지 않아? 라고 생각하고 만들어 보기로 했습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.