简介Appium是可以用于native app(原生应用)、web app(web应用)及hybrid app(混合模式)的自动化测试框架。它使用的是WebDriver协议。 一些概念在开始学习之前,介绍一点必要的概念,对理解Appium框架是很有好处的。 C/S模型Appium的核心是一个支持REST API的web服务器。因为它是一个服务器,所以,对应地,就有客户端。客户端与服务器间建立连接,客户端向服务器发送命令,服务器接收并执行这些命令,最后再将这些命令的结果返回给客户端。 Session(会话)Appium的自动化工作都需要在session的环境中完成。客户端给服务器发送一个请求 desired capabilitiesDesired capabilities是一组键值对(key-value),用来告诉服务器要启动怎样的session,说白了就是一些配置信息。 Appium Server/Appium DesktopAppium是用Node.js编写的,你可以通过源码编译安装,当然,也可以直接使用npm。 不过,我安装的是Appium Desktop,它对Appium Server进行了GUI封装,集成了运行Appium server所需的组件,还带了appium Inspector(检查工具),可以用它检查app的层级结构(与Chrome DevTools的“检查”类似)。 Appium ClientAppium支持的客户端库有:Java、Ruby、Python、PHP、JS和C#等。你可以根据你实际的编程经验选择对应语言的客户端库。 下载环境说明尽管appium支持在多个操作系统上使用,但为了让环境更通用易得,笔者采用的是windows系统(如Windows 7和Windows 10)和Android设备,使用python进行Appium Case的编写。 Client Librariespython版的客户端库下载地址:https://pypi./pypi/Appium-Python-Client 其它客户端库下载地址:http:///downloads.html Desktop AppsWindows版本下载地址:https://github.com/appium/appium-desktop/releases/download/v1.0.0/appium-desktop-Setup-1.0.0.exe appium-desktop-Setup-1.0.0.exe运行后直接安装在C盘,不能修改安装路径。 其它系统下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.0.0 其它Java JDK安装Java JDK,并设置 Android SDK安装Android SDK(Level17或更高版本api),设置 编程语言因为打算使用Python编写Case,所以需要安装python,这里选择的版本是Python2.7。 安装后请安装python版的客户端库,后续根据需要,还将安装其它python库。 环境使用运行Appium Server
启动Appium session
以下,以app和appPackage两种capability来说明配置方法:
app的值为你电脑本地的apk文件。 点击“Start Session”,该apk会自动安装到设备中并运行,最终出现该apk的appium调试界面:
添加appActivity的键值对: 其中, appPackage的值为设备中某app的包名; appActivity为该包名的launchable activity name; 点击“Start Session”后,该app自动启动,最终出现该apk的appium调试界面: 总结
相关知识native app、web app和hybrid appNative App(原生应用)是一种基于智能手机本地操作系统(如iOS、Android等)并使用原生程式编写运行的第三方应用程序,也叫本地app。 Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。 Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App。Hybrid App同时使用网页语言与程序语言开发,总体特性更接近Native App但是和Web App区别较大。 WebDriver协议REST API详见:http://www./ 根据包名获取launchable activity name进入adb shell中:
那么, |
|
来自: wenxuefeng360 > 《待分类1》