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測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
随机推荐
- cs229_part5
这部分主要补充一些cs229没涉及到,但是实际上非常重要,而且是实际中真正会用的一些算法,即集成学习. 集成学习 问题背景 既然我们已经知道了很多学习算法,这些算法最终会输出一个结果.能不能把这些结果 ...
- 通过 PC 远程控制 Android 的应用 -- 可以将手机屏幕投射显示到电脑上
测试结果中的部分测试图:Mobizen手机界面: 电脑界面: 主界面 视频 全屏视频 WebKey手机界面: 电脑界面: AirMore手机界面: 电脑界面:主界面 镜像 全屏镜像 Airdroid手 ...
- 03006_Servlet简介
1.什么是Servlet (1)Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源: (2)Servlet的实质就是java代码 ...
- Spring注解@Component、@Repository、@Service、@Controller
@Service用于标注业务层组件 @Controller用于标注控制层组件(如struts中的action) @Repository用于标注数据访问组件,即DAO组件 @Component泛指组件, ...
- 【02】markdown在线编辑器
[01]在线编辑器 https://www.zybuluo.com/mdeditor 在线 Markdown 编辑阅读器 pen - 是一个Markdown编辑器工具.demo 你可以试试这个在线的m ...
- 用python计算100以内的素数
用python计算100以内的素数 : break else: list.append(i)print(list)
- Oracle学习笔记整理手册
文章目录(1)Oracle正则匹配使用(2)Oracle修改有数据的数据字段类型(3)Oracle表数据回滚语句(4)sql筛选出记录数大于2的记录(5)oracle同义词(6)oracle内外连接( ...
- Ubuntu 常用命令和一些 tips
001. ubuntu 解压.tar.xz文件到另一个文件夹:sudo tar -xvJf ***.tar.xz -C /usr/src sudo 超级用户tar [选项...][file]...-x ...
- ElasticSearch API 之 DELETE
删除API,可以根据特定的ID删除文档. $ curl -XDELETE 'http://localhost:9200/website/blog/AVbkih8AltSLRRB7XAun' 会返回下面 ...
- @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码
一.前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西. 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 ...