首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自动化-Appium-简介

自动化-Appium-简介

作者头像
wangmcn
发布2022-07-22 15:52:48
发布2022-07-22 15:52:48
2.2K0
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试

简介

Appium是一个开源自动化测试工具,用于在IOS移动平台、Android移动平台和Windows桌面平台上自动化本地、移动Web和混合应用程序。本机应用程序是那些使用IOS、Android或Windows SDK编写的应用程序。移动网络应用是使用移动浏览器访问的web应用程序(Appium支持IOS上的Safari,支持Android上的Chrome或内置的“浏览器”应用程序)。混合应用程序在“WebDriver”上有一个包装器,支持与web内容交互的本机控件。

Appium是跨平台的,它允许您使用相同的API编写针对多个平台(IOS、Android、Windows)的测试。这使IOS、Android和Windows测试套件之间的代码重用成为可能。

Appium通过使用供应商提供的自动化框架进行封装后来满足测试需求。这样,我们就不需要在任何特定于Appium的代码或第三方代码或框架中为应用程序编译。

Appium使用的供应商提供的框架:

IOS 9.3及以上:苹果的XCUITest

IOS 9.3及更低版本:苹果的UIAutomation

Android 4.2+:谷歌的UiAutomator/UiAutomator 2

Android 2.3+:谷歌的Instrumentation(Instrumentation由单独的项目Selendroid提供支持)

Windows:微软的WinAppDriver

通过将供应商提供的框架封装在一个API中,WebDriver API。WebDriver(又名“Selenium WebDriver”)指定了一个客户端-服务端协议(称为JSON Wire Protocol),是一个传输方法,这个协议是一组特定的预定义和标准化的端点,它通过REST API去展现。目的就是为了通过浏览器(Chrome、Firefox等)去测试Web站点,Appium继承了移动JSON Wire Protocol协议并进行扩展,它可以控制不同的移动设备的行为,比如通过Session安装和卸载App等。

例如:

·/session/:sessionId - Session的ID唯一标识符

·/session/:sessionId/element –找一个元素

·/session/:sessionId/elements –找一组元素

·/session/:sessionId/element/:id/click –通过id找到元素之后点击元素

·/session/:sessionId/source –获取页面源码

·/session/:sessionId/url –获取页面url

·/session/:sessionId/timeouts/implicit_wait –隐性等待

Appium概念:

1、客户端/服务端体系结构

Appium的核心是一个提供REST API的Web服务器。它接收来自客户端的连接,侦听命令,在移动设备上执行这些命令,并使用HTTP响应进行响应,表示命令执行的结果。

架构图:

2、Session

自动化总是在会话中执行的。客户端以特定于每个库的方式与服务端进行会话,但最终都会向服务端发送一个POST /session对服务端的请求,使用一个名为“desired capabilities”的JSON对象。此时服务器将启动自动化会话,并使用一个用于发送进一步命令的会话ID进行响应。

3、Desired Capabilities

Desired capabilities是发送到Appium服务端的一组键和值(即映射或哈希),以告诉服务端我们感兴趣的是哪种类型的自动化会话。例如,我们可以将PlatformName功能设置为IOS,以告诉Appium我们需要一个IOS会话,而不是Android或Windows会话。

4、Appium Server

Appium是用Node.js编写的服务端。它可以从源代码构建和安装,也可以直接从NPM安装:

$ npm install -g appium

$ appium

5、Appium Clients

Appium的客户端库(支持Java、Ruby、Python、PHP、JavaScript和C#),它们支持Appium对WebDriver协议的扩展。

下载地址:http://appium.io/downloads.html

6、Appium Desktop

Appium Desktop是在Appium Server上封装成一个有图形界面的服务端,可以在任何平台下载安装。它与运行Appium Server所需的所有内容捆绑在一起,因此不需要担心Node环境。它还附带了一个检查器,用来查看应用程序的层次结构等。在编写测试时,这会派上用场。

下载地址:http://appium.io/downloads.html

更多Appium的资料可以访问官方网址查阅:http://appium.io/

- End -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档