关键词不能为空

当前您在: 主页 > 英语 >

如何使用UIAutomation进行iOS自动化测试PartI

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:40
tags:

-

2021年2月28日发(作者:bvs)


写在前面



研究


iOS


的自动化测试也有些日子了,


刚开始的时候,

< br>一直苦于找不到什么好的


资料,只能从


Apple


的官网查阅相关的


API


文档,只可惜,


Apple


对开发者来说


实在是不怎么友好 ,文档写得相当的粗略,对于初学者来说有一定的难度。



本来 是打算自己动手写一篇关于


iOS



U I


自动化测试的入门级别的介绍性文档


的,但想起来后面在具体 解决一些问题的时候,收藏一篇很好的


Blog


,很全面


地介绍了如何使用


UIAutomation



JavaScript


Libraries



iOS


程序的自动化


测试。


如果作者早点看到这篇文章,


应该要少走一些弯路,

< p>
这里没有创意性的它


他翻译成中文,希望对你们有一些帮助。



原文地址:


/2012/04/08/ios- automated-tests-with- uiautomat


ion



翻译正文:





快速入门



自动化测试代码可以“在你的睡着的时候”很好地帮你测试你的应用程序。


它可


以让你能够快速地跟踪你程序中的回归和性能方面的问题,


这样你就不用 担心你


新增的功能会影响到你之前已经完成开发的程序了。






iOS 4.0


的发布,


苹果公司同时发布了一个名为

< br>UIAutomation


的测试框架,


它可以用来在真 实设备和


iPhone


模拟器上执行自动化测试。但

< p>


官方关于


UIAutomation

< p>
的文档相当的有限,在网络上也没有太多的资源可以查找的。本


文将向你展 示你如何将


UIAutomation


整合到你的工

< p>


作流程当中去。



作为 基础知识的准备,你可以先看一下苹果公司


关于


UIAutom ation


的文档


,另


外还有一篇快速 入门的介绍


苹果


Instruments


的文档


也值得看看,


当然,


如果你< /p>


有一个免费的


Apple


开发者账号的话 ,你可以看一下


WWDC 2010 - Session 306




使用


In struments


进行用户界面自动化测试


的幻灯片或者视频 。



除此之外,包括在


Xcode


中的


OCUnit


测试框架也可以用来为你 的应用程序编写


单元测试。



1. < /p>


第一个


UIAutomation


测试脚 本



使用


iOS


模拟器



?



使用


iOS


设备



?



2.

处理


UIAElement


和元素可访问性(


Accessibility




UIAElement


层次结构



?



模拟用户操作



?



3.


经验分享(让你的生活变得更简单)



?



?



?



?



?



类库


Tune- up


介绍



导入外部脚本



使用强大的命令行



使用录制交互功能



当遇到问题时,加上“(1);”



4.


高级交互


处理非预期和预期的提示框(


alerts




?



多任务



?



屏幕方向



?



5.


总结



有用的链接



?



一个视频



?



1.


你 的第一个


UIAutomation


测试脚本

< br>


UIAutomation


的功能测试代码是用


Javascript


编写的。


UIAuto mation



Accessibility

< br>有着直接的关系,你将用到通过标签和值的访问性来获得


UI


素,同时完成相应的交互操作。



下面让我们来编写我们的第一段测试代码。


< br>使用


iOS


模拟器



1.


下载示例应用程序


roj


,并打开它。这个项目是一个


很简单的包含


2



tab



t abbar


应用程序。



2.


确保选中如下图所示的“TestAutomation


>


iPhone


5.0


Simula tor”模式


(或


许你已经切换成


5. 1


了,因此它可能是


iPhone5.1


模拟器)。




3.


启动


Instruments(Product > Prof ile)


,或者通过


?


I




4.


选择左边的


iOS Simulator


,然后再选择


Automation


模板,然后点击


“Profile”。




5.


Instruments


就已经 启动好后,然后直接开始录制了。这里先停止录制,


(红


包按钮 或者


?


R


)。




6.


在左边的

Scripts


窗口,点击“Add > Create”创建新的脚本。




7.


在脚本编辑器里,输入下面的代码



?



1


vartarget = arget();


2


varapp = ostApp();


3


varwindow = ndow();


4


mentTree();



8. < /p>


重新运行这段脚本


?


R

< br>(不需要保存)。脚本跑起来后,你可以在日志打完后


停止它。

< br>



赞一个!我们就这样完成了我们的第一个

< p>
UIAutomation


测试用例。



使用


iOS


设备



你除了将你的测试用例运行模拟器上,


也可以将它运行在一个真实的 设备上。



过,自动化测试用例只能运行在支持多任务的:


iPhone 3GS



iPad



iOS > 4.0


等设备上。遗憾的是不管


iPhone 3G


的系统版本是什么,都不支持。



下面是如何操作:



1.

< p>
通过


USB


接口连接上你的


iPhone




2.


选择



“TestAutomation > iOS Device”模式。



3.


确保


Developper


prof ile


设置成


Release


模式


(而不是


Ad-Hoc


Distribution


profile

< br>)。默认情况下,


profiling


是设置成


Release


模式的(因为没有必要



profile


设置成


Debug

< p>
模式)。




4.


启动测试


(


?


I)


5.


后面的步骤请参考前面模拟器部分。





2.


处理


UIAElement


和元素可访问性(


Accessibil ity




UIAElement


层次结构



Accessibility



UIAut omation


有密切的联系:


如果一个控件的


Accessibility


是可以被访问的,


你就可 以设置和读取它的值,


作相关的操作,


而当一个控件的


Accessibility


不可见时,你就没有办法通过


automation


访问它。



你可以通过


Interface Builder


,或者通过在程序里设置


isAccessibilityElement< /p>


属性的方式来设置一个控件的


Accessibility


或者可


被自动



化。当你设置


container view

< br>(即:一个视图包含其它的


UIKit


元素)

< p>


accessibility


时,你必须注意。 你设置了整个


View



access ibility


将会



“隐藏”它的子 视图的


accessibility



例如:


在示例项目中,


你不能将


out let


视图设置成可访问的,否则它所有的子控件将都不可以访问了。

< br>


在任何时候,


logElementTree


都是你忠实的朋友:它将当前界面的所有可被访问的元素都打


印在日志里 。



每一个可以被访问的


UIKit< /p>


控件都可以用一个


Javascript


对象来描述,它就是


一个


UIAElement



UIAElement


有几个属


性:


name,


value,


elements,


parent



你的主窗口包含很多的控件,它们是以


UIKit


层次的方式定义的,这些


UIKit


层次结构对应的 是


UIAElement


的层次树。


例 如:




面的测试代码中,

< p>
通过调用


logElementTree


,我们可 以得到如下面所示的树结构:


-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679008.html

如何使用UIAutomation进行iOS自动化测试PartI的相关文章