Python+Appium实现自动化测试的使用步骤


Posted in Python onMarch 24, 2020

一、环境准备

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/

Python+Appium实现自动化测试的使用步骤

点击下载按钮会到GitHub的下载页面,选择对应平台下载

Python+Appium实现自动化测试的使用步骤

安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK

Python+Appium实现自动化测试的使用步骤

Python+Appium实现自动化测试的使用步骤

然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

Python+Appium实现自动化测试的使用步骤

二、真机测试

1.连接手机

打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试

Python+Appium实现自动化测试的使用步骤

测试是否连接成功,可执行命令adb devices

Python+Appium实现自动化测试的使用步骤

出现上图就证明手机和电脑连接成功。。。

2.点击Start Inspector Session,

Python+Appium实现自动化测试的使用步骤

按如下配置Desired Capabilities

Python+Appium实现自动化测试的使用步骤

platformName:声明是ios还是Android系统

platformVersion: Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看

Python+Appium实现自动化测试的使用步骤

deviceName:连接的设备名称,通过命令adb devices -l中model查看

Python+Appium实现自动化测试的使用步骤

appPackage:apk的包名

appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用)

Python+Appium实现自动化测试的使用步骤

注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus”

3.运行Start Session,选择元素

Python+Appium实现自动化测试的使用步骤

右侧 Selected Element 区域有三个按钮

Tap:执行选中元素的点击事件Send Keys:为文本框等对象传值如果是文本输入元素,就清除文本

4.录制脚本

Python+Appium实现自动化测试的使用步骤

录制生成的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依赖包

Python+Appium实现自动化测试的使用步骤

最后,记一个我在这些过程中遇到的问题(现已解决)

在Appium-desktop中运行Start Session时,出现

Python+Appium实现自动化测试的使用步骤

解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决

到此这篇关于Python+Appium实现自动化测试的使用步骤的文章就介绍到这了,更多相关Python Appium 自动化测试 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
Python实现列表转换成字典数据结构的方法
Mar 11 Python
不可错过的十本Python好书
Jul 06 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
python数据类型判断type与isinstance的区别实例解析
Oct 31 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
python调用API接口实现登陆短信验证
May 10 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
python如何利用Mitmproxy抓包
Oct 10 Python
python 获取域名到期时间的方法步骤
Feb 10 Python
python中sys模块的介绍与实例
Apr 17 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 #Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 #Python
python实现批量修改文件名
Mar 23 #Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 #Python
python实现遍历文件夹图片并重命名
Mar 23 #Python
Python3 mmap内存映射文件示例解析
Mar 23 #Python
Python3 io文本及原始流I/O工具用法详解
Mar 23 #Python
You might like
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jQuery中detach()方法用法实例
2014/12/25 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
js图片上传的封装代码
2017/08/01 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
python的turtle库使用详解
2019/05/10 Python
Pandas分组与排序的实现
2019/07/23 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
2019年c语言经典面试题目
2016/08/17 面试题
UNIX文件名称有什么规定
2013/03/25 面试题
集中整治工作方案
2014/05/01 职场文书
后进基层党组织整改方案
2014/10/25 职场文书