APPIUM–用于测试的自动化工具-学习网-测试-工具-amp-APPIUM(appium主要测什么)

2025-09-05猫先森网络8
Appium最初由DanCueller开发,用于利用AppleiOS的UI自动化框架对本机挪动应用程序运行测试。使用与Selenium相同的语法,它共享Selenium通过挪动浏览器自动与网站交互的能力,但另外提供了一种与挪动应用程序特定的元素(如手势)交互的方式。出于这个原因,虽然Appium可以用于针对挪动和桌面浏览器的网站测试,但它更常用于测试iOS和Android的本机和混合挪动应用程序。Appium是一个用node.js编写的HTTP服务器,它为iOS和Android等不同平台创建和处理多个WebDriver会话。Appium在设备上启动“测试用例”,该设备生成服务器并侦听来自主Appium服务器的代理命令。它与Selenium服务器几乎相同,后者从selenium客户端库中感知http请求,并根据平台以不同方式处理这些请求。像iOS和Android这样的每个供应商都有不同的方式和机制来在设备上运行测试用例,因此Appium会破解它并在从appium服务器监听命令后运行此测试用例。Appium如何在iOS上运行?在iOS上,Appium代理命令到在MacInstruments环境中运行的UIAutomation脚本。Apple提供了这个名为“instruments”的应用程序,用于执行分析,控制和构建iOS应用程序等许多活动,但它还有一个自动化组件,我们可以在javascript中编写一些命令,使用UIAutomationAPI与AppUI进行交互。Appium利用这些相同的库自动化iOS应用程序。在上图中,我们可以在iOS自动化的上下文中看到Appium的体系结构。如果我们谈论一个命令生命周期,就像Seleniumwebdriver从(Element.click)这样的代码中抉择一个命令,并通过http请求以JSon的形式发送给Appium服务器。Appium服务器知道像iOS和Android这样的自动化上下文,并将此命令发送到Instruments命令服务器,该命令服务器将等待Instruments命令客户端(用node.js编写)来获取它并在iOS中的bootstrap.js中执行它仪器环境。执行该命令后,命令客户端将消息发送回Appium服务器,该服务器在其控制台中记录与该命令相关的所有内容。这个循环一直连续到所有命令执行的时间。APPIUM设计概念Appium是使用Node.js平台编写的“HTTP服务器” ,使用WebdriverJSON有线协议驱动iOS和Android会话。因此,在初始化AppiumServer之前,必须在系统上预安装Node.js.下载并安装Appium时,会在我们的机器上设置一个公开RESTAPI的服务器。它从客户端接收连接和命令请求,并在挪动设备(Android/iOS)上执行该命令。它响应HTTP响应。同样,为了执行此请求,它使用挪动测试自动化框架来驱动应用程序的用户界面。框架如:–适用于iOS的AppleInstruments(仪器仅适用于OSXv10.5及更高版本的Xcode3.0或更高版本)GoogleUIAutomatorforAndroidAPI等级16或更高SelendroidforAndroidAPI等级为15或更低一般使用APPIUM的先决条件ANDROIDSDK[ 链接 ] JDK(Java开发工具包)[ 链接 ]TestNG[ 链接 ]Eclipse[ 链接 ]SeleniumServerJAR[ 链接 ]Webdriver语言绑定库[ 链接 ]适用于Windows的APPIUM[ 链接 ]APKApp在GooglePlay上的信息[ 链接 ]Node.js(不需要–每当安装Appium服务器时,默认情况下它都带有“Node.exe”和NPM。它包含在当前版本的Appium中。)Appium的基本要求应在系统中安装Eclipse或AndroidStudio。iOS系统设置要求苹果系统XCodeApple开发者工具(iPhone摹仿器SDK)Android系统设置要求应该正确安装AndroidSDK和Java。适用于Android的Appium设置以及OSX,Linux和Windows上的iOS。定义编写Appium测试所需的功能。如何定义所需的功能?期望的功能是存储属性的键和值的集合,例如deviceName,browserName,platformName,platformVersion等。以下是添加SeleniumJars及其所需功能的示例:APPIUM检查员与SeleniumIDE记录和播放工具类似,Appium有一个“Inspector”来记录和播放。它通过检查DOM来记录和播放本机应用程序行为,并以任何所需语言生成测试脚本。但是,目前不支持AppiumInspectorforMicrosoftWindows。在Windows中,它启动AppiumServer但无法检查元素。但是,UIAutomator查看器可用作检查元素的选项。从Mac机上的AppiumInspector开始的步骤:–1)从链接http://appium.io/下载Appium foriOS。2)右键单击下载的文件并使用DiskImageMounter 打开它,如下所示。它将在不同的文件夹中打开Appium.app。3)将Appium.app拖到Applications文件夹,如下所示。4)双击Applications文件夹打开Appium.app。第一,您需要通过单击顶部的苹果图标导航到AppiumiOS设置。您无需填写所有表格。还要记得检查图标下方的圆形按钮,确保定位到正确的平台。5)您需要做的首先件事是将Appium服务器指向您要测试的.APP文件(从Xcode项目生成-只需选中“AppPath”框并将路径粘贴到文本字段中的.App文件中,或单击按钮导航到该文件。6)接下来,在屏幕上向下挪动一点,直到在“设备设置”下找到“强制设备”字段。选中该框并抉择要测试的设备。虽然最后您可以插入任何您爱慕的文本字符串,但此步骤是必需的。7)紧接着是UDID字段。选中复选框并打开Xcode。导航到窗口–>设备,从左侧边栏中抉择您连接的设备。您需要复制“标识符”行前面的文本,返回Appium并将其粘贴到UDID字段中。8)接下来,您需要选中“完全重置”框。这告诉Appium每次运行测试时都要重置我们正在测试的应用程序的状态。9)最后,您需要检查Appium是否知道Xcode应用程序的路径。单击“高级”选项卡,检查底部字段中的路径是否正确。如果没有,只需单击按钮并导航到Xcode10)您现在可以启动服务器了。关闭iOS设置屏幕并抉择按钮。您应该会在Appium终端上看到一些信息。几秒钟后,您可以单击带有图标的按钮,这将打开AppiumInspector。此时,应用程序将在您的设备上安装并启动。Inspector的目的是答应您引用正在测试的应用程序的UI元素,以便您可以与它们进行交互。如何使用API​​来定位元素并执行操作?>按名称(按内容-desc)这也是定位元素的有效方法,但问题与UI开发人员在页面上具有非唯一名称或自动生成名称的ID相同。使用此策略,将返回名称属性值与位置匹配的首先个元素。如果没有元素具有匹配的name属性,则将引发NoSuchElementException 。>按类名称有了这个,你可以根据class属性的值找到元素。如果一个元素有很多类,那么这将匹配它们中的每一个。一个类可以包含许多元素。>按ID使用此策略,将返回id属性值与位置匹配的首先个元素。如果没有元素具有匹配的id属性,则将引发NoSuchElementException 。这是定位元素的最有效和首选方式,因为大多数时间ID都是唯一的。>通过XPathXpath 是Appium中的重要定位器,因为你会遇到很多情况,你没有任何抉择,只能使用xpath。Xpath可以是相对的和绝对的,但建议始终使用相对xpath。例用例和部署范畴Appium由拥有Android和iOS本机应用程序的团队在整个组织中使用。我们正在使用它来自动化大型回归测试,现在我们手动运行。Appium让我们改进了发布过程的连续时间并提高了回归阶段的速度,让我们可以抉择将手动测试团队减少到一个人。目前,Appium正在使用TestObject,因为通过这两个协同工作,可以提高设备覆盖率和整个发布过程的速度,并具有良好的质量水平。您甚至可以参考链接获取有关eclipse的其他解释。结论使用Appium,您可以自动执行Android和iOS测试。没有必要学习超过1种语言。配置和使用Appium非常容易; 当你测试策略基于“开发人员编写测试”时,它非常有用。相关文章推举Node.js-简易教程  Node.js是什么?Node.js是开源的Javascript,它答应用户从服务器端运行脚本。它在用户的W[…]...谈天机器人开发框架  Chatbot也被称为IMBot,人工会话实体,谈话机器人和谈天机器人。它是一个自动化软件程序,通过音频谈天[…]...TypeScript简介:Web的静态类型  TypeScript是使用JavaScript创建更好体验的众多尝试之一。TypeScript究竟是什么?[…]...3DTouch简介:静态快速主屏幕操作  iOS9引入了3DTouch,用户可以使用该抚摸按下主屏幕图标并获取应用程序中某些操作的快捷方式,或者用户[…]...JavaScript是什么?JavaScript的优缺点  JavaScript是世界上最流行的编程语言之一,已有二十多年的历史,它也是web开发人员使用的三种主要语言之[…]...APPIUM,用于测试的自动化工具
你可能想看:

标签:  测试 工具 APPIUM 学习网 自动化 用于 amp

给我们留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。