UIAutomation使用測试入门
自己主动化測试的优点:
1、自己主动化能够自己主动測试,不须要人的干预。同一时候还能够不断地反复某一个动作。
2、自己主动化測试在添加了新的功能之后。还能够回归到原理的功能,使其原来的功能不会受到影响。
缺点:会受到測试系统和project师的制约。
自己主动化測试脚本的执行有可能受到不同层次的限制与制约。
大概就是主要两个方面:
1、系统级别的执行机制,并非全部的程序(中的)代码能够自己主动执行,由于ios中的程序的之间总是存在着一些权限。这个就是要考虑到安全级别的问题。签名
2、应用程序级别的限制主要来自于对控件的识别。
hereBy
1、被測试的应用程序必须是在苹果官方的developer中签名,或者仅仅是在模拟器上測试。
(下载别人的应用是不能够用来測试UIAutomation的。由于签名的不匹配。所以要获取源码才干够在自己的真机上面測试)
2、測试的过程中要处理UI控件的可訪问性:
eg:代码写的时候要设置对应的可訪问属性:mytextfieldl.accessbilityEnabled = YES;
假设是xib的时候:例如以下图
二、对脚本的编辑:
查看測试结果他们之间的控件关系:图:能够看到输出控件树的
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="296" width="644">
它们的关系:UIAtarget ——> UIAplication ——>UIAWindow ——> UINavigationBar——>UIButton(add)。这个是add这个button的控件树,其它的控件也是能够的。
然后既能够通过这个结构来获取这“add”名字的button的控件,进行“日志输出”等等操作。
var addButton = UIAtarget().localTarget().frontMostApp().mainWindow().navigationBars()[0].buttons()[1];
addButton.tap();
//我们能够看到这些空间的关系。由于用的是javascript的语法,也就是用javascript语言来进行測试:
相同。我们能够通过名字来获取空间:(这些控件的名字就是开发的时候给定的名字:我们能够通过測试的树图中看到有关控件的名字)(由于数组的方式的可读性和可维护性比較差)
var addButton = UIAtarget().localTarget().frontMostApp().mainWindow().navigationBars()["Recipes"].buttons()["Add"];
UIAutomation使用測试入门的更多相关文章
- 做QA的日子——iOS測试入门(四)
坦言,做QA的这半年我没有成长,就算有成长也非常少,我非常难过.和身边的人讲事实上并没有谁能真正理解自己的难过,事实上还是自己不够努力.对自己不够狠,以前认为自己不够幸运,想有一个更好的指路人,事实上 ...
- [单元測试]_[VC2010使用gtest单元測试入门]
场景: 1. gtest作为C++的单元測试工具非常优秀了,它集成了非常多标准assert所没有的功能,比方让流程继续运行的EXPECT,仅仅測试特定測试用例的--gtest_filter, 输出xm ...
- Mahout学习之Mahout简单介绍、安装、配置、入门程序測试
一.Mahout简单介绍 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的 ...
- Marlin固件之—:基础入门与測试
一.Marlin的简介 Marlin固件是一个3D打印的开源固件,3D打印固件有很多,Marlin最为健全和强大,当然相对也会复杂一些.使用Gcode控制爱.Gcode是数控机床等工控控制使用范围较广 ...
- Tensorflow MNIST 数据集測试代码入门
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50614444 測试代码已上传至GitH ...
- [WebGL入门]十九,遮挡剔除和深度測试
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误.欢迎大家指 ...
- LoadRunner使用入门 进行Webservice负载測试
1.什么是LoadRunner LoadRunner是HP公司的一款付费工具,该工具是一种预測系统行为和性能的负载測试工具. 通过模拟上千万用户实施并发负载来确认和查找问题. 2.什么是负载測试 通过 ...
- 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践
这篇是计算机类的优质预售推荐>>>><移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
随机推荐
- python中set()函数的用法
set顾名思义是集合,里面不能包含重复的元素,接收一个list作为参数 list1=[1,2,3,4] s=set(list1) print(s) #逐个遍历 for i in s: print(i) ...
- ProxyHandler处理器__代理设置__自定义opener
ProxyHandler处理器(代理设置) 使用代理IP,这是爬虫/反爬虫的第二大招,通常也是最好用的. 很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正 ...
- 设计模式之建造者模式——Builder
一.概述 Builder模式,中文名为建造者模式,又名生成器模式.构建者模式等,是创建型设计模式之一.用于将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 1.适用性: 对象 ...
- PHP “引号兄弟”
PHP的string最大可以达到2GB,不过很少会用到这么大的字符串. 单引号: 定义一个字符串最简单的方式是使用单引号,而在单引号字符串中要想表达一个单引号,需要在她的前面加个反斜线(\)来进行转义 ...
- HDu-2896 病毒侵袭,AC自动机模板题!
病毒侵袭 模板题,不多说了.. 题意:n个不同的字符串分别代表病毒特征,给出m次查询,每次一个字符串(网址),求这个字符串中有几个病毒特征,分别从大到小输出编号,最后输出所有的带病毒网址个数.格式请看 ...
- Codeforces Round #390 (Div. 2) A+B+D!
A. Lesha and array splitting 水题模拟.(0:10) 题意:给你一个n个元素的数组,求能否把这个数组分成若干连续小段,使得每段的和不为0.如有多种解输出任意一个. 思路:搞 ...
- iOS视频录制,裁剪(输出指定大小)
弄了几天,终于搞懂一点了,博客后面再写,先附上demo,等研究清楚再写 demo地址:http://pan.baidu.com/s/1o6w2CMu
- 【Luogu】P1896互不侵犯King(状压DP)
题目链接 真是可恶,被数据范围坑了一把.想要一遍AC的希望破灭了…… 以后大家在做状压DP的时候一定要开long long…… 设f[i][j][k]表示考虑前i行,总共放了j个King,第i行状态为 ...
- HackerRank# Fibonacci Modified
原题地址 竟然64位都要爆,这是要大整数乘法的节奏吗?我才不要写大整数乘法呢,用Ruby干掉 代码: # Enter your code here. Read input from STDIN. Pr ...
- formSubmit
精简代码: <form name='form0001' method="post"> .... <li id="view"><a ...