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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 Python
python自定义类并使用的方法
May 07 Python
Python中用于返回绝对值的abs()方法
May 14 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
python常用函数详解
Sep 13 Python
Anaconda多环境多版本python配置操作方法
Sep 12 Python
python中的随机函数random的用法示例
Jan 27 Python
快速排序的四种python实现(推荐)
Apr 03 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Python Numpy库的超详细教程
Apr 06 Python
如何使用pdb进行Python调试
Pytest中skip skipif跳过用例详解
Pytest中skip和skipif的具体使用方法
Python将CSV文件转化为HTML文件的操作方法
如何使用Tkinter进行窗口的管理与设置
Python 语言实现六大查找算法
详解MindSpore自定义模型损失函数
You might like
Zerg剧情介绍
2020/03/14 星际争霸
php数组键名技巧小结
2015/02/17 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
2010/10/01 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python目录和文件处理总结详解
2019/09/02 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
Python中的延迟绑定原理详解
2019/10/11 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
证婚人经典证婚词
2014/01/09 职场文书
员工工作表扬信范文
2014/01/13 职场文书
高中自我评价范文
2014/01/27 职场文书
爱护花草树木的标语
2014/06/11 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL