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 相关文章推荐
用smtplib和email封装python发送邮件模块类分享
Feb 17 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
Python 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python File readlines() 使用方法
Mar 19 Python
python中的不可变数据类型与可变数据类型详解
Sep 16 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
python基于SMTP协议发送邮件
May 31 Python
使用python绘制温度变化雷达图
Oct 18 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
基于python 等频分箱qcut问题的解决
Mar 03 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
PHP中GET变量的使用
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
php print EOF实现方法
2009/05/21 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
简单分析js中的this的原理
2019/08/31 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python三级目录展示的实现方法
2016/09/28 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
诉讼授权委托书
2014/10/15 职场文书
2014年个人售房协议书
2014/10/30 职场文书
见习报告格式要求
2014/11/04 职场文书
Java基础——Map集合
2022/04/01 Java/Android