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复制文件代码实现
Dec 23 Python
详解Python迭代和迭代器
Mar 28 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python字节单位转换实例
Dec 05 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
Python字典取键、值对的方法步骤
Sep 30 Python
Python实现自动装机功能案例分析
Oct 22 Python
python 下划线的不同用法
Oct 24 Python
如何使用pdb进行Python调试
Pytest中skip skipif跳过用例详解
Pytest中skip和skipif的具体使用方法
Python将CSV文件转化为HTML文件的操作方法
如何使用Tkinter进行窗口的管理与设置
Python 语言实现六大查找算法
详解MindSpore自定义模型损失函数
You might like
Zend Guard一些常见问题解答
2008/09/11 PHP
解析strtr函数的效率问题
2013/06/26 PHP
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
BootStrap selectpicker
2016/06/20 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
开源Web应用框架Django图文教程
2017/03/09 Python
Python线程同步的实现代码
2018/10/03 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
3种python调用其他脚本的方法
2020/01/06 Python
python如何导入依赖包
2020/07/13 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
python3 re返回形式总结
2020/11/20 Python
使用Python实现音频双通道分离
2020/12/25 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
伊琍体标语
2014/06/25 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android