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,用于测试的主动化工具
我要评论