Appium如何在iOS上运行?
Appium最初由Dan Cueller开发,用于利用Apple iOS的UI自动化框架对本机移动应用程序运行测试。使用与Selenium相同的语法,它共享Selenium通过移动浏览器自动与网站交互的能力,但另外提供了一种与移动应用程序特定的元素(如手势)交互的方式。出于这个原因,虽然Appium可以用于针对移动和桌面浏览器的网站测试,但它更常用于测试iOS和Android的本机和混合移动应用程序。
Appium最后由Dan Cueller开辟,用于应用Apple iOS的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代办署理敕令到在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或更高版本)
谷歌 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在谷歌 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等。
如下是增添Selenium Jars及其所需性能的示例:
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如何在iOS上运行?
评论列表(0)
发表评论