appium简介
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium简介相关的知识,希望对你有一定的参考价值。
参考技术A Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动ios,android和Windows应用程序。Appium是在手机操作系统自带的测试框架基础上实现的,Android和iOS的系统上使用的工具分别如下:
首先在client(电脑)上运行自动化测试脚本,调用webdriver接口,然后appium server接收到client上发送过来的命令后,将这些命令转换为UIAutomator认识的命令,然后由UIAutomator来在设备上执行自动化。
appium架构原理如上图所示,由客户端(appium client)和服务器(appium server)两部分组成,客户端与服务器端通过JSON Wire Protocol进行通信。
Appium服务器是Appium框架的核心。它是一个基于Node.js实现的HTTP服务器。Appium服务器的主要功能是接受从Appium客户端发起的连接,监听从客户端发送来的命令,将命令发送给bootstrap.jar(iOS手机为bootstrap.js)执行,并将命令的执行结果通过HTTP应答反馈给Appium客户端。
Bootstrap.jar是在Android手机上运行的一个应用程序,它在手机上扮演TCP服务器的角色。当Appium服务器需要运行命令时,Appium服务器会与Bootstrap.jar建立TCP通信,并把命令发送给Bootstrap.jar;Bootstrap.jar负责运行测试命令。
它主要是指实现了Appium功能的WebDriver协议的客户端Library,它负责与Appium服务器建立连接,并将测试脚本的指令发送到Appium服务器。现有的客户端Library有多种语言的实现,包括Ruby、Python、Java、javascript(Node.js)、Object C、php和C#。Appium的测试是在这些Library的基础上进行开发的。
Appium Server就是Appium的服务端——一个web接口服务,使用Node.js实现。引用官网解释说明。
Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。
它是几个Appium相关工具的组合:
因为Appium是一个C/S结构,有了服务端的肯定还有客户端,Appium Clients就是客户端,它会给服务端Appium Server发送请求会话来执行自动化任务。就像我们浏览器访问网页,浏览器是客户端,通过操作发送请求服务器来获取数据。我们可以使用不同的客户端浏览器(IE,Firefox,Chrome)访问一个网站。Appium客户端可以使用不同的语言来实现,如Python,java等。具体详见下表:
desired capability的功能是配置Appium会话。他们告诉Appium服务器您想要自动化的平台和应用程序。
Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的值。(如:"platformName": "Android")Desired Capabilities主要用于通知Appium服务器建立需要的Session。
Appium的客户端和服务端之间进行通信都必须在一个Session的上下文中进行。客户端在发起通信的时候首先会发送一个叫作“Desired Capabilities”的JSON对象给服务器。服务器收到该数据后,会创建一个session并将session的ID返回到客户端。之后客户端可以用该session的ID发送后续的命令。
python,appium,初步
- 简介:
编程语言,运行环境:
appium原理:
-
安装,appium
如果不成功,尝试: pip install appium-python-client -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com - appium,server安卓
https://github.com/appium/appium-desktop
github上下载真心很慢
appium,server依赖安卓sdk环境:
方案一:下载,安卓studio,(studio会自动下载sdk),但是下载sdk的过程中,可能出问题
方案二:下载老的studio版本,绑定了,sdk(v:2.3.3)
https://developer.android.google.cn/studio/archive
安装的时候,一定打钩:sdk
环境变量配置:
win10,每个目录都是单独一个记录,不需要分号
非win10,注意每个目录之间要有分号 - 链接真机
- 代码配置
- 代码示例:
-
adb shell提示:device unauthorized
1 1、断开手机与电脑的连接 2 2、CMD依次输入:adb kill-server, Enter 3 adb start-server,Enter 4 3、再次使用数据线连接电脑,是否出现USB调试授权窗口 5 4、CDM窗口输入:echo%ANDROID_SDK_HOME% 6 检查路径是否正确 7 5、CDM窗口输入 “where adb” 8 查看adb.exe的路径是否正确,abd.exe的正确路径应为sdk/platform-tools
- 此时出现 Unable to connect to adb. Check if adb is installed correctly 错误:
解决方案: 1、打开 "E:\\android-sdk_r24.4.1-windows\\android-sdk-windows\\tools"中的uiautomatorviewer.bat文件 2、找到 uiautomatorviewer.bat 文件最后一行 把将其中的binddir=%prog_dir%修改为 SDK 的 platform-tools所在路径(我的 SDK 路径为:E:\\android-sdk_r24.4.1-windows\\android-sdk-windows\\platform-tools)。 3、再次启动工具 UI Automator Viewer,就可以正常运行。
以上是关于appium简介的主要内容,如果未能解决你的问题,请参考以下文章