appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。

“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。

“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。python脚本语言?

appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。

appium客户端类库实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C WebDriver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction 接口)的元素。

appium服务端定义了官方协议的扩展,为appium 用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App。这就是为什么我们需要appium特定的客户端,而不是通用的Selenium 客户端。当然,appium 客户端类库只是增加了一些功能,而实际上这些功能就是简单的扩展了Selenium 客户端,所以他们仍然可以用来运行通用的Selenium会话。

appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。

appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及Selenium(WebDriver)如何做到支持多语言的原因;

appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量;

语言/框架Github地址

在安装和介绍appium之前,非常有必要介绍一下appium是如何工作的。

通过上面一张图简单展示了appium的工具原理。

首先,appium支持多语言,因为它针对流的几种语言分别开发的相应的appium库。好处就是我们可以选择自己熟悉的语言编写appium脚本。

其次,appium支持多平台,包括MAC和Windows。它针对这两大平台开发了appium-Server。

最后,appium又同时支持Android 和 iOS两个操作系统。

这就使得appium变得非常灵活。

当我在MAC平台上,通过Python(python-client)编写了一个appium自动化脚本并执行,请求会首先到 appium.dum (MAC下的appium-Server),appium-Server通过解析,驱动iOS设备来执行appium自动化脚本。

或者,我在Windows平台上,通过Java(java-client)编写了一个appium自动化脚本并执行,请求会首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server通过解析,驱动Android虚拟机或真机来执行appium脚本。

所以,你会看到appium的强大之处就在于此。

这才是你最关心的问题,使用appium都需要安装些什么?其实,从appium工作原理你就应该知道需要装什么了。

编程语言

想用 Python 的同学,点这里

想用 Java 的同学,点这里

appium client

参考3、支持多平台、多语言的列表,根据你选择的语言来选择对应的 appium-client。

appium Server

参考4、appium工作原理的介绍,根据你的系统平台选择 对应的 appium-server。

测试运行环境

你需要一个Android模拟器,或 一个 Android 手机,或 一台 iPhone 手机。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-72685-1.html

python手机自动化测试脚本语言_python脚本语言? Appium移动自动化测试相关推荐

  1. python是脚本语言_Python 脚本语言

    python 脚本语言 (python的命名起源于一个脚本screenplay,每次运行都会使对话框逐字重复.由著名的"龟叔"Guido van Rossum在1989年圣诞节期间 ...

  2. python是高级动态语言_Python动态语言之魅力揭秘

    之前的文章跟大家讲解了鸭子类型,其实鸭子类型是编程语言中动态类型语言中的一种设计风格.今天跟大家一起谈谈动态语言的魅力. 根据维基百科,动态编程语言是这样子定义的:动态编程语言是高级编程语言的一个类别 ...

  3. python 定时运行 定时关闭_Python脚本用于定时关闭网易云音乐PC客户端

    本文主要讲述如何使用Python在指定的秒数后关闭Windows上运行的程序(此程序以网易云音乐为例).本文的背景是昨晚发现网易云音乐的PC客户端没有定时关闭的功能,可以使用Python编写一个简单的 ...

  4. python手机怎么下载软件_python利器app下载-python利器手机版 _5577安卓网

    python利器app下载推荐给大家!这是一款深受用户青睐的python学习软件,开发商是白瑾浩,这里有非常全面的教育资源,超多课程不断更新,让你不怕知识落伍,还可以下载相关的课件随时随地都可以学习! ...

  5. shell python脚本语言_python脚本里使用shell语句

    有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...

  6. python调用metasploit自动攻击_Python脚本与Metasploit交互进行自动永恒之蓝攻击-Go语言中文社区...

    我们首先利用 findTarget() 函数找到目标网段或目标主机中开放了445端口的主机,然后利用 confickerExploit() 函数将攻击代码写入 configure.rc 配置文件中,最 ...

  7. python控制手机自动刷新闻_Python脚本利用adb进行手机控制的方法

    一. adb 相关命令: 1. 关闭adb服务:adb kill-server 2. 启动adb服务 adb start-server 3. 查询当前运行的所有设备 adb devices 4. 可能 ...

  8. python脚本模式_python脚本怎么执行

    Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发. pytho ...

  9. python批量修改文件名代码_python脚本批量修改文件名

    我曾以为,写脚本是很难的,直到我遇到了Python 前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随 ...

最新文章

  1. 用C#操纵IIS(代码)
  2. 看完这篇Exception 和 Error,和面试官扯皮就没问题了
  3. Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境
  4. BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
  5. python编写性别比例_Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】...
  6. 自定义分页模板(银角大王版)
  7. 事件处理之一:两种方式:监听器与回调
  8. ajax获取shiroehcache,Shiro – 使用EhCache缓存
  9. 源码包编译安装python_Python3.7源码包编译安装-Go语言中文社区
  10. python 面向对象编程tcp_python 闯关之路三(面向对象与网络编程)
  11. matlab自相关法,Matlab计算自相关和互相关
  12. 【深度优先搜索】20行代码解决8皇后问题
  13. lisp方格网法计算土方量_飞时达土方软件多级边坡土方量计算(选方格点放坡)...
  14. dubbo+zookeeper+dubboadmin环境搭建
  15. Google Code Review 如何编写代码评论
  16. 关于四元数与欧拉角协方差阵转换的一些思考
  17. 三国演义人物关系思维导图模板分享
  18. linux如何卸载lightdm,什么是gdm3,kdm,lightdm?如何安装和删除它们?
  19. 查看oracle11g的企业管理器(OEM)
  20. 框架 - SpringMVC框架

热门文章

  1. php sapi模式,PHP SAPI介绍
  2. python序列的应用
  3. Python自动化完成tb喵币任务V2.0
  4. service中间调用dao层方法时,出现Mapper method ‘dao.xxx‘ has an unsupported return type错误,但是sql执行修改数据成功,并没有回滚
  5. 在不借助中间变量的前提下,交换两个变量的值
  6. CTP接口开发案例(内附源码)
  7. 让图片动起来——Real_Time_Image_Animation
  8. kotlin实现的简单个人账户管理APP(三) 自定义View仿支付宝的密码输入框/密码相关逻辑
  9. linux 服务器 安装网卡驱动,Linux系统下安装Intel千兆网卡驱动
  10. 《以太坊攻略》,小白如何逆袭成为技术大咖?要学的全在这里了