多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

APPIUM–用于自动化测试的工具

更新时间:2022-03-25 09:26:17 作者:多测师 浏览:281

  Appium最初由Dan Cueller开发,用于利用Apple iOS的UI自动化框架对本机移动应用程序运行测试。使用与Selenium相同的语法,它共享Selenium通过移动浏览器自动与网站交互的能力,但另外提供了一种与移动应用程序特定的元素(如手势)交互的方式。出于这个原因,虽然Appium可以用于针对移动和桌面浏览器的网站测试,但它更常用于测试iOS和Android的本机和混合移动应用程序。

APPIUM–用于自动化测试的工具

  Appium是一个用node.js编写的HTTP服务器,它为iOS和Android等不同平台创建和处理多个WebDriver会话。

  Appium在设备上启动“测试用例”,该设备生成服务器并侦听来自主Appium服务器的代理命令。它与Selenium服务器几乎相同,后者从selenium客户端库中感知http请求,并根据平台以不同方式处理这些请求。

  像iOS和Android这样的每个供应商都有不同的方式和机制来在设备上运行测试用例,因此Appium会破解它并在从appium服务器监听命令后运行此测试用例。

  Appium如何在iOS上运行?

  在iOS上,Appium代理命令到在Mac Instruments环境中运行的UI Automation脚本。Apple提供了这个名为“instruments”的应用程序,用于执行分析,控制和构建iOS应用程序等许多活动,但它还有一个自动化组件,我们可以在javascript中编写一些命令,使用UI Automation API与App UI进行交互。Appium利用这些相同的库自动化iOS应用程序。

  我们可以在iOS自动化的上下文中看到Appium的体系结构。如果我们谈论一个命令生命周期,就像Selenium webdriver从(Element.click)这样的代码中选择一个命令,并通过http请求以JSon的形式发送给Appium服务器。

  Appium服务器知道像iOS和Android这样的自动化上下文,并将此命令发送到Instruments命令服务器,该命令服务器将等待Instruments命令客户端(用node.js编写)来获取它并在iOS中的bootstrap.js中执行它仪器环境。执行该命令后,命令客户端将消息发送回Appium服务器,该服务器在其控制台中记录与该命令相关的所有内容。这个循环一直持续到所有命令执行的时间。

  APPIUM设计概念

  Appium是使用Node.js平台编写的“HTTP服务器” ,使用Webdriver JSON有线协议驱动iOS和Android会话。因此,在初始化Appium Server之前,必须在系统上预安装Node.js.

  下载并安装Appium时,会在我们的机器上设置一个公开REST API的服务器。

  它从客户端接收连接和命令请求,并在移动设备(Android / iOS)上执行该命令。

  它响应HTTP响应。同样,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。框架如: –

  适用于iOS的Apple Instruments(仪器仅适用于OS X v10.5及更高版本的Xcode 3.0或更高版本)

  Google UIAutomator for Android API等级16或更高

  Selendroid for Android API等级为15或更低

  一般使用APPIUM的先决条件

  ANDROID SDK [ 链接 ]

  JDK(Java开发工具包)[ 链接 ]

  TestNG [ 链接 ]

  Eclipse [ 链接 ]

  Selenium Server JAR [ 链接 ]

  Webdriver语言绑定库[ 链接 ]

  适用于Windows的APPIUM [ 链接 ]

  APK App在Google Play上的信息[ 链接 ]

  Node.js(不需要 – 每当安装Appium服务器时,默认情况下它都带有“Node.exe”和NPM。它包含在当前版本的Appium中。)

  Appium的基本要求

  应在系统中安装Eclipse或Android Studio。

  iOS系统设置要求

  苹果系统

  XCode

  Apple开发者工具(iPhone模拟器SDK)

  Android系统设置要求

  应该正确安装Android SDK和Java。

  适用于Android的Appium设置以及OS X,Linux和Windows上的iOS。

  定义编写Appium测试所需的功能。

  如何定义所需的功能?

  期望的功能是存储属性的键和值的集合,例如deviceName,browserName,platformName,platformVersion等。

  APPIUM检查员

  与Selenium IDE记录和播放工具类似,Appium有一个“Inspector”来记录和播放。它通过检查DOM来记录和播放本机应用程序行为,并以任何所需语言生成测试脚本。但是,目前不支持Appium Inspector for Microsoft Windows。在Windows中,它启动Appium Server但无法检查元素。但是,UIAutomator查看器可用作检查元素的选项。

  从Mac机上的Appium Inspector开始的步骤: –

  1)从链接http://appium.io/下载Appium for iOS。

  2)右键单击下载的文件并使用DiskImageMounter 打开它,如下所示。它将在不同的文件夹中打开Appium.app。

  3)将Appium.app拖到Applications文件夹。

  4)双击Applications文件夹打开Appium.app。首先,您需要通过单击顶部的苹果图标导航到Appium iOS设置。您无需填写所有表格。还要记得检查图标下方的圆形按钮,确保定位到正确的平台。

  5)您需要做的第一件事是将Appium服务器指向您要测试的.APP文件(从Xcode项目生成 -只需选中“App Path”框并将路径粘贴到文本字段中的.App文件中,或单击按钮导航到该文件。

  6)接下来,在屏幕上向下移动一点,直到在“设备设置”下找到“强制设备”字段。选中该框并选择要测试的设备。虽然最后您可以插入任何您喜欢的文本字符串,但此步骤是必需的。

  7)紧接着是UDID字段。选中复选框并打开Xcode。导航到窗口 – >设备,从左侧边栏中选择您连接的设备。您需要复制“标识符”行前面的文本,返回Appium并将其粘贴到UDID字段中。

  8)接下来,您需要选中“完全重置”框。这告诉Appium每次运行测试时都要重置我们正在测试的应用程序的状态。

  9)最后,您需要检查Appium是否知道Xcode应用程序的路径。单击“高级”选项卡,检查底部字段中的路径是否正确。如果没有,只需单击按钮并导航到Xcode

  10)您现在可以启动服务器了。关闭iOS设置屏幕并选择按钮。您应该会在Appium终端上看到一些信息。几秒钟后,您可以单击带有图标的按钮,这将打开Appium Inspector。此时,应用程序将在您的设备上安装并启动。Inspector的目的是允许您引用正在测试的应用程序的UI元素,以便您可以与它们进行交互。

  如何使用API??来定位元素并执行操作?

  >按名称(按内容-desc)

  这也是定位元素的有效方法,但问题与UI开发人员在页面上具有非唯一名称或自动生成名称的ID相同。使用此策略,将返回名称属性值与位置匹配的第一个元素。如果没有元素具有匹配的name属性,则将引发NoSuchElementException 。

  >按类名称

  有了这个,你可以根据class属性的值找到元素。如果一个元素有很多类,那么这将匹配它们中的每一个。一个类可以包含许多元素。

  >按ID

  使用此策略,将返回id属性值与位置匹配的第一个元素。如果没有元素具有匹配的id属性,则将引发NoSuchElementException 。这是定位元素的最有效和首选方式,因为大多数时间ID都是唯一的。

  >通过XPath

  Xpath 是Appium中的重要定位器,因为你会遇到很多情况,你没有任何选择,只能使用xpath。Xpath可以是相对的和绝对的,但建议始终使用相对xpath。

  用例和部署范围

  Appium由拥有Android和iOS本机应用程序的团队在整个组织中使用。我们正在使用它来自动化大型回归测试,现在我们手动运行。Appium让我们改进了发布过程的持续时间并提高了回归阶段的速度,让我们可以选择将手动测试团队减少到一个人。

  目前,Appium正在使用TestObject,因为通过这两个协同工作,可以提高设备覆盖率和整个发布过程的速度,并具有良好的质量水平。

  您甚至可以参考链接获取有关eclipse的其他解释。

  结论

  使用Appium,您可以自动执行Android和iOS测试。没有必要学习超过1种语言。配置和使用Appium非常容易; 当你测试策略基于“开发人员编写测试”时,它非常有用。

  以上内容为大家介绍了自动化测试中的APPIUM–用于自动化测试的工具,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部