Appium + python 实战
文章目录
- Appium介绍
- Appium 原理
- Appium使用
- Appium + Python实战
Appium介绍
是一个移动端的自动化测试框架,是跨平台的,支持ios和Android平台上的移动原生应用、混合以及web移动应用,可以针对不同的平台使用一套API来编写测试脚本,可用于iOS和Android。可以跨语言:Java、python、Ruby。
移动原生应用;是指那些用iOS或者AndroidSDK写的应用移动Web应用:是指使用移动浏览器访问的应用(Appium支持iOS上的Safari和Android上的Chrome)混合应用:是指原生代码封装网页视图(原生代码和Web内容交互)
Appium 官网:添加链接描述
Appium 原理
Appium 的启动实际上是在本机使用了4723端口开启了一个服务
写的代码会访问本机的Appium服务器,并获取driver对象
appium 会将driver对象调用的方法转化为post请求,提交给appium服务器
appium通过接收到的post请求发送给手机,再由手机进行执行。
Appium使用
Appium 桌面版本Desktop
有三个基础配置:
- Simple
- Advanced
- Presets(域相关配置)
备注:Host:可以写localhost、127.0.0.1、0.0.0.0都是可以的。
点击下载按钮之后会保存原始日志
点击放大器按钮
App元素探测工具 Appium Inspector
Appium Inspector
- 配置参数
UI AutomatorViewer
- SDK提供的原生元素定位工具
- 不需要提供启动参数
- 效率高
Automatic:自动获取Server的一些信息
Custom Server :自定义Server的信息
Select Cloud Providers :选择云端的一些服务
Ds:启动App所需要的一些配置
安装 Appium- python 库安装
pip3 install Appium-python-Client
Appium + Python实战
- 打开某个应用,启动参数
from appium import webdriver
import time
desired_caps = dict()
desired_caps['platformName'] = 'Android' # 可以写成android
desired_caps['platformVersion'] = '7' # 11.1.0等都可以写成11
desired_caps['deviceName'] = 'meitu' # 设备名字可以随便写,但是不可以为空
desired_caps['appPackage'] = 'com.qiniu.pili.droid.shortvideo.effect.demo'
desired_caps['appActivity'] ='com.qiniu.pili.droid.shortvideo.demo.activity.MainActivity' driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
time.sleep(20)# 等待20秒"driver.quit()
- 在脚本内启动其他APP——应用跳转
from appium import webdriver
import time
desired_caps = dict()
desired_caps['platformName'] = 'Android' # 可以写成android
desired_caps['platformVersion'] = '7' # 11.1.0等都可以写成11
desired_caps['deviceName'] = 'meitu' # 设备名字可以随便写,但是不可以为空
desired_caps['appPackage'] = 'com.qiniu.pili.droid.shortvideo.effect.demo'
desired_caps['appActivity'] ='com.qiniu.pili.droid.shortvideo.demo.activity.MainActivity' driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
time.sleep(20)# 等待20秒"
# 跳转
driver.start_activity("com.pili.pldroid.playerdemo",".MainActivity")
driver.quit()
输出包名和界面名
println(driver.current_package)
println(driver.current_activity)
- 关闭应用程序和驱动对象
有的时候需要关闭某个应用程序后,再打开新的应用。
driver.close_app()#关闭当前操作的app,不会关闭驱动对象,只是把应用关闭,不会关闭驱动对象driver,当打印包名时,会有下面的结果
com.android.launcher3:表示系统手机界面
driver.quit()#关闭驱动对象,同时关闭所有关联的app。driver关闭
- 安装、卸载以及是否安装app
if driver.is_app_installed("com.qiniu.pili.droid.shortvideo.effect.demo"):driver.remove_app("com.qiniu.pili.droid.shortvideo.effect.demo")
else:driver.install_app("")#apk所在路径driver.quit()
- 将应用置于后台
模拟按home键,将应用放置到后台,进入后台,5秒后再回到前台()
driver.background_app(5)# 秒
from appium import webdriver
import time
desired_caps = dict()
desired_caps['platformName'] = 'Android' # 可以写成android
desired_caps['platformVersion'] = '7' # 11.1.0等都可以写成11
desired_caps['deviceName'] = 'meitu' # 设备名字可以随便写,但是不可以为空
desired_caps['appPackage'] = 'com.qiniu.pili.droid.shortvideo.effect.demo'
desired_caps['appActivity'] ='com.qiniu.pili.droid.shortvideo.demo.activity.MainActivity' driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)driver.background_app(5)
driver.quit()
补充:
热启动:没有切断电源的情况下,表示应用进入后台又回到前台
冷启动:切换电源的行为,关机,开机。
Appium + python 实战相关推荐
- python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
linux下Appium+Python移动应用自动化测试实战-3.手把手教你定位元素编写测试用例 前言 有很多童鞋环境搭建好了却没有进行下一步,是因为缺少step by step的资料. 互联网上ap ...
- Appium+Python移动端 实战——教你如何xpath定位自动化测试
今日份问题 我:手动就可以操作简单的测试,为什么要自动化测试 老师:主要是回归测试.改了bug之后,重新再来测试.这样用回归测试就比手动测试要节约成本 Appium+Python移动端实战 一.前提 ...
- Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去
Appium 是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应 用,且是跨平台的.可用于 ios 和 Android 操作系统. Appium+Python 一.前提 1.1 JD ...
- appium+python闲鱼采购自动化实战(二)
appium+python闲鱼采购自动化实战(二) appium+python闲鱼采购自动化实战 appium+python闲鱼采购自动化实战(二) 三.环境搭建 2.android-sdk安装和设置 ...
- Linux下Appium+Python+headless移动APP自动化测试实战
Linux下Appium+Python+Headless移动APP自动化测试实战 文章目录 Linux下Appium+Python+Headless移动APP自动化测试实战 1. 环境准备 1.1 安 ...
- appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...
资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...
- pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】
资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...
- appium python自动测试 百度网盘_S35 移动App Appium自动化测试教程Appium+Python 百度云...
Python视频教程名称:移动App Appium自动化测试教程Appium+Python Python视频教程 [IT视频教程网] it教程 ( l w1 F: L" `, v 2 c ...
- Appium+Python 自动化测试一之:环境安装(Android篇)
目前网上有大量Appium+Python的APP自动化测试的资料,这里我只是记录一下自己安装的过程,好让自己以后忘记的时候再翻起来看看,快速上手,不想再像之前那样踩坑. 注:因为之前玩过Robot F ...
最新文章
- 元素水平垂直居中的几种常用方法
- IntelliJ IDEA14 配置 SVN
- R语言:随机抽样(sample函数)
- 空间谱专题06:宽带信号处理思路
- jquery $.ajax post php获取不到_经典的jQuery实现页面公共部分方法,附代码
- php中调用go代码,php中的goto的用法实例(代码)
- Jackrabbit介绍
- Java 类图(UML)
- 多源多目标统计信息融合 目标跟踪 信息融合 贝叶斯滤波总结
- 学习Spring框架这一篇就够了
- c++实现 龙格库塔经典4阶算法
- java font 字体大小_java的字体的颜色,型号,大小的方法
- Apple HomeKit
- SAP BASIS ADM100 中文版 Unit 9(5)
- 微信小程序自定义showModel为转发按钮
- MySQL数据恢复(通过.frm和.idb文件)
- 关于ScrollView中嵌套FlatList的一点经验
- [转载]从受欢迎角度分析哪些美国主流网站使用了哪些JS框架
- python2.x 默认编码问题
- PHP之ThinkPHP框架
热门文章
- Windows系统的mstsc版本升级
- ITN网络课程笔记(三)
- Stirling公式的应用
- C语言学生信息管理系统设计方案,c语言程序设计方案报告图书标准管理系统
- transferwise怎么提现_客户用TransferWise可以给我泛付账户汇款吗?TransferWise怎么收...
- iOS LaunchScreen设置启动图片 启动页停留时间
- Python音乐生成:MIDI
- MathJax详细配置——在线显示LaTeX公式的解决方案
- 浅谈unsigned与signed的区别
- 计算机网络学习篇:TCP/IP原理体系结构