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中内置的NotImplemented类型的用法
Mar 31 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
python write无法写入文件的解决方法
Jan 23 Python
python使用KNN算法识别手写数字
Apr 25 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python dict如何定义
Sep 02 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
如何使用pdb进行Python调试
Pytest中skip skipif跳过用例详解
Pytest中skip和skipif的具体使用方法
Python将CSV文件转化为HTML文件的操作方法
如何使用Tkinter进行窗口的管理与设置
Python 语言实现六大查找算法
详解MindSpore自定义模型损失函数
You might like
php字符串截取问题
2006/11/28 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
Python读大数据txt
2016/03/28 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
Python可迭代对象操作示例
2019/05/07 Python
Python安装selenium包详细过程
2019/07/23 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
介绍一下RMI的基本概念
2016/12/17 面试题
幼儿园家长会邀请函
2014/01/15 职场文书
群众路线专项整治方案
2014/10/27 职场文书
汽车转让协议书
2015/01/29 职场文书
初二数学教学反思
2016/02/17 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python