文章目录

  • 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实战

  1. 打开某个应用,启动参数
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()
  1. 在脚本内启动其他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)
  1. 关闭应用程序和驱动对象
    有的时候需要关闭某个应用程序后,再打开新的应用。
driver.close_app()#关闭当前操作的app,不会关闭驱动对象,只是把应用关闭,不会关闭驱动对象driver,当打印包名时,会有下面的结果
com.android.launcher3:表示系统手机界面
driver.quit()#关闭驱动对象,同时关闭所有关联的app。driver关闭
  1. 安装、卸载以及是否安装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()
  1. 将应用置于后台
    模拟按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 实战相关推荐

  1. python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...

    linux下Appium+Python移动应用自动化测试实战-3.手把手教你定位元素编写测试用例 前言 有很多童鞋环境搭建好了却没有进行下一步,是因为缺少step by step的资料. 互联网上ap ...

  2. Appium+Python移动端 实战——教你如何xpath定位自动化测试

    今日份问题 我:手动就可以操作简单的测试,为什么要自动化测试 老师:主要是回归测试.改了bug之后,重新再来测试.这样用回归测试就比手动测试要节约成本 Appium+Python移动端实战 一.前提 ...

  3. Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去

    Appium 是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应 用,且是跨平台的.可用于 ios 和 Android 操作系统. Appium+Python 一.前提 1.1 JD ...

  4. appium+python闲鱼采购自动化实战(二)

    appium+python闲鱼采购自动化实战(二) appium+python闲鱼采购自动化实战 appium+python闲鱼采购自动化实战(二) 三.环境搭建 2.android-sdk安装和设置 ...

  5. Linux下Appium+Python+headless移动APP自动化测试实战

    Linux下Appium+Python+Headless移动APP自动化测试实战 文章目录 Linux下Appium+Python+Headless移动APP自动化测试实战 1. 环境准备 1.1 安 ...

  6. appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...

    资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...

  7. pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】

    资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...

  8. appium python自动测试 百度网盘_S35 移动App Appium自动化测试教程Appium+Python 百度云...

    Python视频教程名称:移动App Appium自动化测试教程Appium+Python  Python视频教程 [IT视频教程网] it教程 ( l  w1 F: L" `, v 2 c ...

  9. Appium+Python 自动化测试一之:环境安装(Android篇)

    目前网上有大量Appium+Python的APP自动化测试的资料,这里我只是记录一下自己安装的过程,好让自己以后忘记的时候再翻起来看看,快速上手,不想再像之前那样踩坑. 注:因为之前玩过Robot F ...

最新文章

  1. 元素水平垂直居中的几种常用方法
  2. IntelliJ IDEA14 配置 SVN
  3. R语言:随机抽样(sample函数)
  4. 空间谱专题06:宽带信号处理思路
  5. jquery $.ajax post php获取不到_经典的jQuery实现页面公共部分方法,附代码
  6. php中调用go代码,php中的goto的用法实例(代码)
  7. Jackrabbit介绍
  8. Java 类图(UML)
  9. 多源多目标统计信息融合 目标跟踪 信息融合 贝叶斯滤波总结
  10. 学习Spring框架这一篇就够了
  11. c++实现 龙格库塔经典4阶算法
  12. java font 字体大小_java的字体的颜色,型号,大小的方法
  13. Apple HomeKit
  14. SAP BASIS ADM100 中文版 Unit 9(5)
  15. 微信小程序自定义showModel为转发按钮
  16. MySQL数据恢复(通过.frm和.idb文件)
  17. 关于ScrollView中嵌套FlatList的一点经验
  18. [转载]从受欢迎角度分析哪些美国主流网站使用了哪些JS框架
  19. python2.x 默认编码问题
  20. PHP之ThinkPHP框架

热门文章

  1. Windows系统的mstsc版本升级
  2. ITN网络课程笔记(三)
  3. Stirling公式的应用
  4. C语言学生信息管理系统设计方案,c语言程序设计方案报告图书标准管理系统
  5. transferwise怎么提现_客户用TransferWise可以给我泛付账户汇款吗?TransferWise怎么收...
  6. iOS LaunchScreen设置启动图片 启动页停留时间
  7. Python音乐生成:MIDI
  8. MathJax详细配置——在线显示LaTeX公式的解决方案
  9. 浅谈unsigned与signed的区别
  10. 计算机网络学习篇:TCP/IP原理体系结构