Python+Appium自动化测试的实战


Posted in Python onJune 30, 2021
目录
  • 一、环境准备
  • 二、真机测试

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中的With语句
Mar 18 Python
python正则分析nginx的访问日志
Jan 17 Python
轻松理解Python 中的 descriptor
Sep 15 Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
python使用tkinter库实现五子棋游戏
Jun 18 Python
python实现大文本文件分割
Jul 22 Python
对django layer弹窗组件的使用详解
Aug 31 Python
Python reduce函数作用及实例解析
May 08 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 Python
python绘制汉诺塔
Mar 01 Python
Python 恐龙跑跑小游戏实现流程
Feb 15 Python
如何使用pdb进行Python调试
Pytest中skip skipif跳过用例详解
Pytest中skip和skipif的具体使用方法
Python将CSV文件转化为HTML文件的操作方法
如何使用Tkinter进行窗口的管理与设置
Python 语言实现六大查找算法
详解MindSpore自定义模型损失函数
You might like
php session安全问题分析
2011/06/24 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
phplot生成图片类用法详解
2015/01/06 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
js数组操作学习总结
2013/11/04 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
全面理解Python中self的用法
2016/06/04 Python
python 上下文管理器使用方法小结
2017/10/10 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python负载均衡的简单实现方法
2018/02/04 Python
python 格式化输出百分号的方法
2019/01/20 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
药剂学专业应届生自荐信
2013/09/29 职场文书
小学毕业感言300字
2014/02/19 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
保险公司开门红口号
2014/06/21 职场文书
先进个人总结范文
2015/02/15 职场文书
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript