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 相关文章推荐
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Python编程实现蚁群算法详解
Nov 13 Python
用python处理图片实现图像中的像素访问
May 04 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
Python 中导入csv数据的三种方法
Nov 01 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 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
一个简易需要注册的留言版程序
2006/10/09 PHP
Snoopy类使用小例子
2008/04/15 PHP
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP中的use关键字概述
2014/07/23 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
php英文单词统计器
2016/06/23 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python的else子句使用指南
2016/02/27 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
MySQL面试题
2014/01/12 面试题
政治学专业毕业生求职信
2014/08/11 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang