-
环境准备 (windows)
1.jdk1.8.0 (64位)
2.android-sdk
3.python:2.7
4.appium:1.13.0
5.Node.js: v10.15.3-x64
6.Appium-Python-Client
-
jdk安装
我这边安装的jdk 1.8版本的64位,可以根据自己系统下载对应的版本,后续一路next 就行。
安装好后配置环境变量(不会的可自行百度)
-
android-sdk
可以安装Android studio 下载对应的sdk 或者直接去Android 官网下载。 下载好后配置Android-sdk 环境变量
-
python:2.7
下载安装后配置环境变量
-
Node.js 安装
安装完后配置好环境变量,通过pip 安装Appium-Python-Client
-
appium
因appium在国内很难安装,如果允许的话可以直接 通过 npm 命令安装即可。我这边是直接在用的Appium-windows-1.13.0 可以去appium官网下载
-
环境搭建完后 启动appium 主要还是借助appium 的capabilities模块

image.png

image.png
appPackage 和appActivity 的获取:连接手机 dos 输入 adb shell dumpsys window | findstr mCurrentFocus
填写相关信息 主要是: appPackage,appActivity,platformName(ios/android),deviceName(一个设备可随意填写)

image.png

image.png
-
python 代码:
# coding=UTF-8
import time
from appium import webdriver
def excuteLogin():
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'honor10'
desired_caps['appPackage'] = 'cn.humiao.nonggongshang'
desired_caps['appActivity'] = 'cn.humiao.humiao.ui.other.splash.SplashActivity'
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 页面跳转是需要时间的,但是代码执行是很快的,这里没有找到元素是因为,在获取【收入手机号码】id时,手机页面还没有进入到登陆页面,所以在页面上找不到元素下·
# 隐性等待
# driver.implicitly_wait(10)
# 强制等待3秒
time.sleep(3)
el1 = driver.find_element_by_id("cn.humiao.nonggongshang:id/et_phone")
el1.click()
el1.send_keys("18824115856")
el2 = driver.find_element_by_id("cn.humiao.nonggongshang:id/et_pwd")
el2.send_keys("123456")
el3 = driver.find_element_by_id("cn.humiao.nonggongshang:id/tv_login")
el3.click()
# driver.quit()
if __name__ == "__main__":
excuteLogin()