赞
踩
类型 | 内容 | 安装步骤 | 验证 |
android | jdk(java开发包) | 1.找到8版本jdk下载并安装 2.并在系统变量中添加 JAVA_HOME:C:\Program Files\Java\jdk1.8.0_231(jdk安装路径) CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; path:%JAVA_HOME%\jre\bin(jre路径)和%JAVA_HOME%\bin(bin路径) | java -version 结果:出现版本信息 |
android sdk(软件开发包) | 1.可以直接下载安装带sdk的android studio 2.file>setting>搜索框输入sdk查找sdk安装路径 3.添加系统变量 ANDROID_HOME:C:\Users\Rock\AppData\Local\Android\Sdk(sdk安装路径) path:%ANDROID_HOME%\tools(tools路径) %ANDROID_HOME%\platform-tools(platform-tools路径) %ANDROID_HOME%\build-tools\29.0.3(build-tools路径) | 解决adb不是内部或外部指令 cmd里输入adb和aapt 结果:出现命令行帮助信息 | |
android studio(开发工具) | 下载并安装 | ||
genimotion(模拟器) | 1.下载并安装genimotion 2..android打开设置(Ctrl+Alt+S) 3..找到Plugins选项并点击 4..在搜索栏输入enymotion,然后点击Search in repositories在线搜索 5.install | ||
python | python环境 | 1.下载地址:https://www.python.org/downloads/ 2.安装时勾选add python 版本 to path | python 出现python版本信息 |
pycharm编辑器 | |||
.NET framework | .NET framework3.5(包括.NET2.0和) .NET framework4.8 Advanced Services | 设置路径控制面板>程序>程序和功能>启用或关闭windows功能 | |
appium | appium客户端 | 下载安装appium客户端 | |
appium服务端 | appium服务端:npm install -g appium --registry=https://registry.npm.taobao.org | ||
appium-doctror | appium-doctror:npm install -g appium-doctor(安装后可以检查appium的环境配置情况) | ||
Appium-Python-Client | 安装Appium-Python-Client:pip install Appium-Python-Client |
作用 | adb命令 | 结果 |
查看包名 | adb shell dumpsys window windows | findstr mFocusedApp | mFocusedApp=AppWindowToken{52a313dc token=Token{5289c48c ActivityRecord{529ad31c u0 com.example.myapplication/.MainActivity t10}}} 包名:com.example.myapplication 界面名:.MainActivity |
发送文件 | adb push 文件路径 手机文件路径 adb push D:\testing\1.txt /sdcard | 模拟器的fileManiger可以查看文件目录 D:\testing\1.txt: 1 file pushed, 0 skipped. 0.0 MB/s (6 bytes in 0.157s) /sdcard是所有设备都有的路径 传好后要在文件列表右下角展开按钮,然后refresh刷新 |
从手机中拉取文件 | adb pull手机文件路径 电脑目录 adb pull /sdcard/1.txt D:/testing | /sdcard/1.txt: 1 file pulled, 0 skipped. 0.0 MB/s (6 bytes in 0.002s) |
app启动时间 | adb shell am start -W com.example.myapplication/.MainActivity | Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myapplication/.MainActivity } 946:0.946秒 thistimae:应用启动时间(系统+application) totalTime:界面启动完成所需时间(系统+application+activity) |
获取手机日志 | adb logcat | |
设备列表 | adb devices | |
adb重启 | adb kill-server 和adb start-server |
类别 | 功能 | 代码 | 解释/例子 |
应用 | 启动其他app | driver.start_activity(appPackage,appActivity) driver.start_activity('com.android.mms','com.android.setting') | appPackage:程序包名, appActivity:程序界面名 |
获取包名 | driver.current_package | ||
获取界面名 | driver.current_activity | ||
关闭app | driver.close_app() | ||
关闭驱动对象 | driver.quil() | ||
安装app | driver.install_app(app_path) | ||
卸载app | driver.remove_app(app_id) | ||
判断是否安装app | driver.is_install_app(app_id) | driver.is_install_app(“cn.goapk.market”) 返回布尔值 | |
将应用置于后台 | driver.background_app(second) | 后台停留多少秒,在后台待多少秒再回到原界面 | |
定位 | 定位元素一个元素 | //class driver.find_element_by_id(id_value) //id driver.find_element_by_class_name(class_value) //xpath driver.find_element_by_xpath(xpath_value) | element id_value的值是resource-id的字符串形式,它可以在uiautomatorviewer里查看 class_value可以在uiautomatorviewer里查看 找不到元素会报错 |
定位一组元素 | //class driver.find_elements_by_id(id_value) //id driver.find_elements_by_class_name(class_value) //xpath driver.find_elements_by_xpath(xpath_value) | elements 找不到元素会返回空列表 | |
元素等待 | 隐式等待 | ||
显示等待 |
1.使用appium打开模拟器中软件(前置代码)
- from appium import webdriver
- import time
-
- desired_caps = dict()
- //手机参数:设备类型,模拟器(手机)版本,设备号(随便写)
- desired_caps['platformName'] = 'Android'
- desired_caps['platformVersion'] = '4.4'
- desired_caps['deviceName'] = '192.168.56.101:5555'
- //应用参数:程序包名,界面
- desired_caps['appPackage'] = 'com.android.settings'
- desired_caps['appActivity'] = '.Settings'
- //连接appium,获取driver
- driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
-
- time.sleep(5)
-
- driver.quit()

2.查找元素
C:\Users\Rock\AppData\Local\Android\Sdk\tools\bin下打开uiautomatorviewer.bat
uiautomatorviewer运行不正常原因
点击uiautomatorviewer菜单栏第二个按钮报错:原因是appium正在用adb,解决方法:先在cmd关闭adb再开adb
uiautomatorviewer闪退原因jdk版本不是8
- # 通过id查找一个元素
- fun1 = driver.find_element_by_id("com.android.settings:id/switchWidget")
- fun1.click()
- # 通过class查找一个元素
- fun1 = driver.find_element_by_class_name("")
- # 通过xpath查找一个元素
- fun1 = driver.find_element_by_xpath("")
-
- # 通过id查找一组元素
- fun1 = driver.find_elements_by_id("com.android.settings:id/switchWidget")
- fun1[1].click()
- # 通过class查找一组元素
- fun1 = driver.find_elements_by_class_name("android.widget.TextView")
- for tex1 in fun1:
- print(tex1.text)
- # 通过xpath查找一组元素
- fun1 = driver.find_elements_by_xpath("")

3.等待
time.sleep:直接睡眠模式,停止运行指定秒数
隐式等待:在等待时间后,如果出现了要查找的元素再进行后续操作,如果没有出现则报错(元素在指定时间内要出现)
显式等待:每隔多少秒后再进行操作,超出时长报错
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。