一、环境准备
1.脚本语言:Python3.x IDE:安装Pycharm
2.安装Java JDK 、Android SDK
3.adb环境,path添加E:\Software\Android_SDK\platform-tools
4.安装Appium for windows,官网地址http://appium.io/
![](/d/20211017/d96b38eee471f8dcb582e87b39d861b3.gif)
点击下载按钮会到GitHub的下载页面,选择对应平台下载
![](/d/20211017/7e67dea586990b2ec7605bf5926d9e2c.gif)
安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK
![](/d/20211017/014a6a80957576c58915c222f22397f5.gif)
![](/d/20211017/5c5e29dcf727cd9bd93e790883a320e8.gif)
然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到
![](/d/20211017/d037d08c779ef7fed8f2ea9ab078a4fc.gif)
二、真机测试
1.连接手机
打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试
![](/d/20211017/95f7805afaf2caa2f7b43385081e72d8.gif)
测试是否连接成功,可执行命令adb devices
![](/d/20211017/037598e08c95c544c79660ec414ebce2.gif)
出现上图就证明手机和电脑连接成功。。。
2.点击Start Inspector Session,
![](/d/20211017/1e53a7362d7fabe3d529d36e8202cb7c.gif)
按如下配置Desired Capabilities
![](/d/20211017/21f7aa38fa15b048593ac473aaad054b.gif)
platformName:声明是ios还是Android系统
platformVersion: Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看
![](/d/20211017/be2763a2a6f95fb9bd5e98dae3d82cf2.gif)
deviceName:连接的设备名称,通过命令adb devices -l中model查看
![](/d/20211017/db007139c0029f216a2e15c77fa80c5c.gif)
appPackage:apk的包名
appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)
![](/d/20211017/e9c2c0238e69de6f63c39c6d8701f7ab.gif)
注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus”
3.运行Start Session,选择元素
![](/d/20211017/0a1ec2c94c4c91515aea1d777ef73070.gif)
右侧 Selected Element 区域有三个按钮
- Tap:执行选中元素的点击事件
- Send Keys:为文本框等对象传值
- 如果是文本输入元素,就清除文本
4.录制脚本
![](/d/20211017/36eaa17ed3813684f4614d95881ceba7.gif)
录制生成的python代码如下:
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "9.0.0"
caps["deviceName"] = "Mi_Note_3"
caps["appPackage"] = "com.antfortune.wealth"
caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"
caps["resetKeyboard"] = True
caps["unicodeKeyboard"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")
el1.click()
el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")
el2.click()
driver.quit()
5.在pycharm中建立项目将代码粘入,在运行之前,还需通过pip命令安装pip install Appium-Python-Client依赖包
![](/d/20211017/cc982d5b645f9dd1436d7b293cec6b58.gif)
最后,记一个我在这些过程中遇到的问题(现已解决)
在Appium-desktop中运行Start Session时,出现
![](/d/20211017/db2c6ca348bf40440bff72ad861bfbe5.gif)
解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决
到此这篇关于Python+Appium自动化测试的实战的文章就介绍到这了,更多相关Python Appium自动化测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:- python实现自动化办公邮件合并功能
- python+opencv+selenium自动化登录邮箱并解决滑动验证的问题
- Python办公自动化之将任意文件转为PDF格式
- Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
- python ansible自动化运维工具执行流程
- python自动化八大定位元素讲解