appium简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium简介相关的知识,希望对你有一定的参考价值。

参考技术A Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iosandroid和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,初步

  1. 简介:
      

     编程语言,运行环境:
      

     appium原理:
      

  2. 安装,appium

      
    如果不成功,尝试: pip install appium-python-client -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

  3. 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,注意每个目录之间要有分号

  4. 链接真机
      
  5. 代码配置
      
  6.  代码示例:
      
  7. 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
  8.  此时出现 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简介的主要内容,如果未能解决你的问题,请参考以下文章

Appium简介及原理

第一章 Appium简介

Appium简介

appium desktop 使用简介

Appium简介和初步使用520-1

python,appium,初步 --L简