Javatpoint标志
Javatpoint标志

Appium教程

Appium教程

Appium教程提供了Appium自动化测试工具的基本和高级概念。我们的Appium教程是为初学者和专业人士设计的。

在本教程中,我们将讨论以下主题:


Appium是什么?

Appium是一个开源手机自动化测试工具,用于测试应用程序。它是由酱实验室自动化本地和混合移动应用程序。它是一个跨平台的移动自动化工具,这意味着它允许在多个平台上运行相同的测试。Appium可以轻松地并行测试多个设备。

在当今的开发领域,对移动应用程序的需求很高。目前,人们正在将他们的网站转换成移动应用程序。因此,它是非常重要的了解手机软件自动化测试技术和新技术也保持联系。Appium移动应用程序测试工具是当前的趋势吗移动自动化测试技术

Appium用于自动化测试本地的混合动力,网络应用程序。它支持在模拟器(iOS)和模拟器(Android)以及物理设备(Android和iOS都)上进行自动化测试。此前,该工具主要关注IOS和Android应用程序,这些应用程序仅限于移动应用程序测试。Appium宣布它现在也将支持针对windows的桌面应用程序测试。

Appium教程

Appium和硒Webdriver测试工具。因此,如果您已经了解Selenium Webdriver,那么Appium将变得非常容易学习。Appium已经不依赖因为它有一个框架,可以将Selenium Webdriver命令分别转换为Android和iOS的UIAutomator和UIAutomation命令,这取决于设备类型而不是操作系统类型。

它支持多种语言,如Java、PHP、Objective C、c#、Python、带有node.js的JavaScript和Ruby,还有许多具有Selenium客户端库的语言。硒是Appium的后端,提供控制硒的功能测试需求。

Appium的特点

  • Appium不需要应用程序源代码或库。
  • Appium提供了一个强大而活跃的社区。
  • Appium具有多平台支持,也就是说,它可以在多个平台上运行相同的测试用例。
  • Appium允许并行执行测试脚本。
  • 在Appium中,一个小的更改不需要重新安装应用程序。
  • Appium支持各种语言,如c#、Python、Java、Ruby、PHP、带有node.js的JavaScript,以及许多其他具有Selenium客户端库的语言。

Appium的优点

  • Appium是一个开源工具,这意味着它是免费的。它易于安装。
  • 它允许混合的自动化测试,本地和web应用程序。
  • 与其他测试工具不同,您不需要在应用程序中包含任何额外的代理来使Appium与自动化兼容。它测试的是同一个应用程序,这个应用程序将上传到app Store。
  • Appium增加了一个附加功能。现在它将支持windows的桌面应用程序测试以及移动应用程序测试。
  • Appium是一个跨平台的、免费的移动测试工具,它允许我们进行跨平台的移动测试。这意味着你可以在多个平台上进行测试(针对Android和IOS平台的单一API)。

缺点Appium

除了一些特性和优点外,Appium也有一些缺点

  • 缺乏详细的报告。
  • 由于测试依赖于远程网络驱动程序,所以它有点慢。
  • 这不是限制,而是Appium使用的开销UIAutomator仅支持Android SDK, API 16或更高版本的Android。但是,Appium支持较老的api,但不是直接支持。它使用了另一个开源库Selendroid以支持较老的api。
  • 在iOS中,只有一个实例(iOS Script)可以在一个Mac OS设备上运行,这意味着每个Mac一次可以执行一个测试。如果你想同时在多个iOS设备上运行测试,你需要安排相同数量的Mac机器。但是要安排各种各样的Mac电脑是很昂贵的。

解决方案:中运行脚本可以解决此问题酱汁实验室移动云.目前,它允许脚本同时在多个iOS模拟器上运行。

Appium架构

Appium是一个HTTP服务器node . js.它开始了"测试用例,该设备将生成服务器,并监听来自主Appium服务器的代理命令。测试人员编写在设备或模拟器上执行的测试脚本。Appium为不同平台(如Android和IOS)创建和处理多个web驱动程序会话。

Appium教程

测试人员编写的测试脚本通过将它们作为请求发送到Appium服务器,在模拟器或设备上执行。每个供应商,例如IOS或Android,都有不同的方法和机制在设备上执行测试用例。因此,测试用例在侦听来自Appium服务器的命令后执行。Appium使用JSON连接协议向Appium服务器发送命令请求。

Appium如何工作的呢?

  • 当我们安装Appium时,在我们的机器上也安装了一个与它一起暴露REST API的服务器。
  • 它接收来自客户端的命令和连接请求,并在iOS或Android等设备上执行该命令。
  • 它用HTTP响应进行响应。
  • 为了执行请求,它使用一个移动测试自动化框架来运行应用程序的用户界面
    • 苹果用于iOS的仪器
    • Selendroid用于Android API 15或以下
    • UIAutomator用于Android API 16或更高版本

记住,apum使用另一个开源库Selendroid来支持旧的API,因为UIAutomator只支持API 16或更高版本。

现在我们将讨论Appium如何在不同平台上工作—

Appium Android

在Android上,Appium将命令代理到UIAutomator在设备上运行的脚本。UIAutomator是Android的原生UI自动化框架,它允许你运行Junit使用命令行直接在设备中测试用例。虽然它使用Java编程语言,但Appium允许从任何WebDriver支持的语言运行它。

Android使用bootstrap.jar作为TCP服务器。它用于发送测试命令,使用UIAutomator在Android设备上执行动作。

在下面的图中,看到Appium架构对Android自动化-

Appium教程

Appium iOS中

Android使用UIAutomator, iOS使用UIAutomation。类似于Android, Appium代理的命令UIAutomation在Mac仪器环境中运行的测试用例。苹果提供了这个应用程序。”仪器执行各种活动,如构建、分析和控制iOS应用程序。另一方面,它还有一个自动化组件,您可以在其中用JavaScript编写命令。它使用UIAutomation API与Application UI交互。Appium使用相同的库来自动化iOS应用程序。

在下面的图中,看到Appium架构在iOS自动化方面-

Appium教程

注意在上面的图表中,bootstrap.js是用来代替bootstrap.jar的。它在我们的AUT(被测应用程序)上执行操作。

流动应用的种类

正如我们前面所讨论的,Appium能够处理各种类型的应用程序,即本机、混合和web应用程序。让我们来详细了解一下

本机应用程序

本机应用程序是在记住某个平台的情况下开发的软件程序。这些应用程序是使用特定的软件开发工具包开发的。原生应用程序是为在特定设备上使用而开发的,可以从应用程序商店(如谷歌Play Store或苹果的应用程序商店)安装。他们可以离线工作,也可以使用设备通知系统。

一些原生应用程序的例子是- Pinterest, Skype, Snapchat等。

Web应用程序

Web应用程序不是真正的应用程序,它们是运行在浏览器上的网站。这些应用程序是使用HTML、CSS和JavaScript以非常低的价格开发的。与Android和iOS应用不同,它们不需要开发人员使用软件开发工具包(SDK)。Web应用程序不是为特定平台开发的。由于web应用程序运行在web浏览器上,所以它们不需要任何安装。

一些网络应用的例子是- Flipkart,阿里快递,twitter等。

混合应用程序

混合应用程序是本机应用程序和web应用程序的组合。与本地应用一样,这些应用可以从App Store下载,也可以利用设备的功能,但实际上它们内部是web应用。它们是使用HTML、CSS和JavaScript等网页开发语言开发的,这使得它们可以在任何平台上运行。

一些混合应用程序的例子是- OLA, Instagram, Basecamp等。

使用Appium的先决条件

  • 安装Java(JDK)
  • 安装Android工作室
  • 安装额外的安卓SDK工具
  • 安装Appium jar文件
  • js(不是必需的-它默认随"node.js"和"NPM"一起出现,每当安装Appium服务器时。因此,它不需要单独安装node . js和NPM。它已经包含在当前版本的Appium中。)
  • 安装Appium桌面客户端
  • 安装Eclipse IDE对于Java

Appium安装在windows上

设置Appium不仅仅是安装一个工具或设置几个变量。Appium的完整设置需要安装许多其他工具。然后Appium开始测试应用程序。本教程主要关注Windows操作系统上Android的Appium设置。

安装和设置Java

使用Appium,您需要编写可以与移动应用程序中的移动屏幕和控制字段(如文本框、按钮等)交互的自动化测试脚本,并且还可以对它们执行操作。Java被用来编写这些自动化测试脚本。因此,下载最新版本的JDK并设置环境变量。

安装和设置Android Studio

这是下载和安装Android Studio最耗时的步骤之一。如果操作不当,可能会导致Appium出现错误。下载Android Studio后,还需要设置许多其他更改。在这里,我们建议你下载最新版本的Android Studio。

  • 下载Android Studio
    下载Android Studio的最新版本点击上面的链接。双击下载的. exe文件运行。要完成安装过程,请继续使用所有默认选项并完成安装过程。Android studio安装是需要时间的。
  • 安装额外的Android SDK工具
    Android Studio安装完成后,你会看到Android Studio的主面板,如下面的截图所示。点击配置下拉菜单,并选择SDK经理
    Appium教程
    默认的屏幕将会开放与Android SDK,在SDK平台,检查安装最新版本的Android。您还可以使用另一个android版本如果你正在与一个真正的android设备。
    Appium教程
    在同一页上,切换到SDK工具并检查一些标记的组件是否已安装/更新。如果没有,则标记复选框并安装它们。
    Appium教程
  • 设置Android环境变量

一步步安装Appium Desktop Client

现在,在安装Java和Android Studio并为两者设置环境变量之后,安装Appium Desktop Client。Appium Studio是一个安装Appium服务器的GUI应用程序。它附带了安装和使用Appium服务器的所有预先要求。它有一个检查器,用来获取移动应用程序的基本信息。在windows上安装Appium Desktop Client的步骤如下:

步骤1:转到以下链接http://appium.io/然后点击下载Appium按钮。

Appium教程

步骤2:Windows操作系统请下载exe文件的Appium桌面设置.所以,点击如下截图所示的文件。

Appium教程

步骤3:下载完exe文件后,双击下载的文件运行。

Appium教程

注意:在windows操作系统上,您不需要安装Appium。它直接从.exe文件运行,而你需要为Mac机器安装dmg。

步骤4:在这里,您需要选择安装选项。如果系统上有多个用户,则可以选择所有用户,否则选择只有我系统管理员使用。

选择安装选项后,单击安装按钮。

Appium教程

这将启动安装,安装可能需要一些时间。

步骤5:Appium已成功安装在您的系统上。要完成Appium设置,请单击完成按钮。

请注意,运行Appium检查。这将启动Appium Desktop。

Appium教程

步骤6:现在,Appium Desktop UI将出现在包含默认设置的屏幕上宿主而且港口,这是可以更改的。

默认主机- 0.0.0.0

默认端口号- 4723

点击启动服务器按钮,启动Appium服务器。

第七步:新服务器将在上一步中指定的主机和端口上启动。您可以在屏幕顶部看到Server正在运行的消息。

Appium教程

第八步:文件然后点击新的会话窗口

Appium教程

步骤9:在此提供所需的所有功能,并单击开始会议按钮,开始新的会话。

Appium教程
  • 下载Eclipse IDE for Java
  • 在Android手机中打开USB调试
  • 下载Appium Jar文件用于Eclipse
  • 在Eclipse中为Appium创建一个新项目
  • 设计测试用例来测试应用程序,以在Android设备上启动应用程序

注意,Microsoft窗口不支持运行Appium Inspector。

Appium医生

要检查Appium安装和依赖关系,可以安装appium-doctor在这里

Appium-doctor是应用工具验证Appium安装.它显示了你需要做的所有缺失的事情。因此,当您遇到任何问题时,运行appium-doctor将非常有用。它会通过npm

限制Appium

  • Microsoft Windows不支持运行Appium Inspector。
  • Appium不允许对低于4.2的Android版本进行测试。
  • Appium为测试混合应用程序提供了有限的支持。例如,切换应用程序的动作是不可能测试的,例如,web应用程序到原生应用程序,反之亦然。

竞争对手的Appium

有一些工具可用于自动测试移动应用程序,如Robotium、Appium、Experitest、Selendroid、Kobiton和Testdroid等。他们都是Appium的有力竞争者。但Selendroid和Robotium是Appium的主要竞争对手之一。让我们知道一些不同之处,看看它们之间有何不同。

Appium vs Robotium

  • Appium是一个支持iOS和Android的跨平台工具。而Robotium只支持安卓。
  • Appium支持多种语言Robotium只支持Java编程语言。
  • Appium不需要应用程序源代码/库,而Robotium工具需要应用程序源代码或库。
  • Appium可以用来测试本机、web和混合移动应用程序,而Robotium只能测试本机和混合应用程序。
  • Appium支持许多框架,如Selenium。但Robotium与Selenium完全不兼容。
  • 在Appium在美国,你不需要重新安装应用程序的一个小改变。但Robotium代码导致一个小更改的完整重建。

Appium vs Selendroid

  • Appium是一个开源自动化工具,支持iOS和Android,而Selendroid是一个只支持Android的测试自动化框架。
  • Appium,一个小的更改不需要重新安装应用程序。但Selendroid需要重新安装的应用程序。
  • Appium有一个强大而活跃的社区,然而Selendroid没有像Appium那样强大的社区。
  • Appium支持多种框架和语言。另一方面,Selendroid兼容Jenkin和Selenium。
  • Appium不需要应用程序源代码/库,而Selendroid需要应用程序源代码或库。
  • Appium支持所有有限制的Android api。Appium使用UIAutomator在API>=17上运行测试,而对于较老的API,它使用Selendroid运行测试。




Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新的教程


准备


热门的技术


B.Tech / MCA






Baidu
map