代码改变世界

随笔分类 - iOS

自动化测试里的开源工具

2012-10-17 22:08 by 知平软件, 804 阅读, 收藏, 编辑
摘要:周六要做一个分享,因此这一周都没有时间写测试方面的文章,把要分享的PPT拿出来:http://www.vowei.com/slide/automation/需要用Chrome才能看,IE看有点问题,幻灯片里主要是讲网页和手机端自动化测试用到的工具。关于Windows Phone 7的自动化测试,幻灯片里没有提,虽然Windows Phone 7并不自带对自动化测试的支持,但是可以在模拟器上可以实现类似的效果,主要原理是:Windows Phone的模拟器是采用WPF技术实现的,因此针对Windows Phone 7模拟器上的应用的自动化测试,实际上就变成了对WPF程序的测试。 阅读全文

扩展iQuery使其支持多种编程语言(四) – 兼编译器的语法错误处理简介

2012-09-28 16:50 by 知平软件, 1433 阅读, 收藏, 编辑
摘要:扩展iQuery使其支持多种编程语言(四) – 兼编译器的语法错误处理简介 iQuery是一个开源的自动化测试框架项目,有兴趣的朋友可以在这里下载:https://github.com/vowei/iQuery/downloads 源码位置:https://github.com/vowei/iQuery 相关的使用文档,请参看: 开源类库iQuery Android版使用说明 类j... 阅读全文

扩展iQuery使其支持多种编程语言(三) – 兼编译器的语义分析简介

2012-09-24 16:20 by 知平软件, 1270 阅读, 收藏, 编辑
摘要:iQuery是一个开源的自动化测试框架项目,有兴趣的朋友可以在这里下载:https://github.com/vowei/iQuery/downloads源码位置:https://github.com/vowei/iQuery相关的使用文档,请参看:开源类库iQuery Android版使用说明类jQuery selector的控件查询iQuery开源类库介绍开源手机自动化测试框架iQuery入门教程(一)开源手机自动化测试框架iQuery入门教程(二)开源手机自动化测试框架iQuery入门教程(三)在上一篇文章中,简单介绍了iQuery解释器的语义分析部分。ANTLR使用的LL(*)的语法解 阅读全文

开源手机自动化测试框架iQuery入门教程(三)

2012-09-19 16:00 by 知平软件, 1886 阅读, 收藏, 编辑
摘要:前几篇入门教程请参看: 开源类库iQuery Android版使用说明 类jQuery selector的控件查询iQuery开源类库介绍 开源手机自动化测试框架iQuery入门教程(一) 开源手机自动化测试框架iQuery入门教程(二) iQuery是一个开源的自动化测试框架项目,有兴趣的朋友可以在这里下载:https://github.com... 阅读全文

开源手机自动化测试框架iQuery入门教程(二)

2012-09-12 17:47 by 知平软件, 1677 阅读, 收藏, 编辑
摘要:上次介绍iQuery之后,已经有些朋友在开始在手机自动化测试程序里试用iQuery了,由于之前的介绍文档比较含糊,先搁置扩展iQuery使其支持多种编程语言的系列文章,补充一下iQuery的入门教程,之前写的介绍性文章可以参考: 1. 开源类库iQuery Android版使用说明 2. 类jQuery selector的控件查询iQuery开源类库介绍 3. 开源手机自动化测试框架iQuery入门教程(一)iQuery是一个开源的自动化测试框架项目,有兴趣的朋友可以在这里下载:https://github.com/vowei/iQuery/downloads源码位置:https:... 阅读全文

开源手机自动化测试框架iQuery入门教程(一)

2012-09-07 13:12 by 知平软件, 2374 阅读, 收藏, 编辑
摘要:应网友要求,添加iQuery使用的简易教程系列,并简单介绍iOS程序和Android程序的自动化测试编写的方法。 阅读全文

扩展iQuery使其支持多种编程语言(二) – 兼编译器的语法分析简介

2012-09-03 09:58 by 知平软件, 1529 阅读, 收藏, 编辑
摘要:iQuery是一个开源的自动化测试框架项目,有兴趣的朋友可以在这里下载:https://github.com/vowei/iQuery/downloads 源码位置:https://github.com/vowei/iQuery 在上一篇文章中,简单介绍了iQuery解析器的词法分析部分,本文接着将语法分析部分解释完毕,阅读完本文后,应该可以将iQuery扩展到其他编程语言上。 下面是iQu... 阅读全文

扩展iQuery使其支持多种编程语言(上) – 兼编译器的词法分析简介

2012-08-27 12:38 by 知平软件, 1739 阅读, 收藏, 编辑
摘要:iQuery在设计的时候就考虑到对其他编程语言的支持,本文主要是通过讲解iQuery的词法分析,为后文的编程语言扩展做铺垫,读者也可以从中学到实现一门编程语言中使用词法分析的方法。 阅读全文

原创开源项目 - 扩展iQuery

2012-08-24 15:16 by 知平软件, 1908 阅读, 收藏, 编辑
摘要:为了满足跨平台一致的控件查询这个目标,iQuery支持多种编程语言,通过伪类和伪属性的设计来隐藏各平台的差异性,而无论是伪类、伪属性,还是对多编程语言的支持,iQuery都是可以扩展的,本文介绍扩展iQuery的方法 阅读全文

如何使用UIAutomation进行iOS 自动化测试(Part II)

2012-08-17 15:34 by 知平软件, 10310 阅读, 收藏, 编辑
摘要:接着上一篇《如何使用UIAutomation进行iOS 自动化测试(Part I)》3. 经验分享(让你生活变得更简单)类库Tune-up介绍现在你应该基本上知道如何编写测试代码了。但你慢慢地会发现,你会经常写到一些重复的,冗余的,黏糊糊的代码,像下面一样:var target = UIATarget.localTarget();var app = target.frontMostApp();var window = app.mainWindow();这也是为什么我们会用到一个小的Javascript类库来简化我们写的UIAutomation测试的原因。你可以去 https://github. 阅读全文

原创开源项目 -- HierarchyViewer for iOS(2)

2012-08-15 15:58 by 知平软件, 2258 阅读, 收藏, 编辑
摘要:前文中,我们介绍了HierarchyViewer for iOS的主要功能,这款工具可以非常直观的阅读iOS应用的控件层次图,如下图所示: 还可以右键点击某个控件,来获取它在UIAutomation中的调用路径: 然后我们在剪切板可以得到该控件的调用路径: target.frontMostApp().windows()[0].buttons()["Table"]把它拷贝... 阅读全文

类jQuery selector的控件查询iQuery开源类库介绍

2012-08-14 16:08 by 知平软件, 2938 阅读, 收藏, 编辑
摘要:iQuery的思路借鉴自jQuery(或者说是CSS)的选择器,一方面提供一个比较简单的方式在自动化测试程序里抓取控件,一方面试图通过将控件归类提供一种跨平台统一的控件抓取表述语法。它是一个多平台通用的控件查询语法,当前已经实现了iOS版,支持在Instrument里使用,本文介绍iQuery在iOS上Instrument中的用法。 阅读全文

原创开源项目 -- HierarchyViewer for iOS(1)

2012-08-13 15:14 by 知平软件, 5192 阅读, 收藏, 编辑
摘要:我们知道,HierarchyViewer是Android SDK包中非常好用的工具。开发及测试人员,即使没有应用程序的源代码,也可以获取Activity的控件层次图,以及每个控件的所有属性和截图。那么,iOS下有没有类似的工具呢?现在,答案是肯定的。HierarchyViewer for iOS是我们开发的一个开源工具,采用GPL v3协议。该项目基于eclipse RCP构架,支持Mac OS X,Windows和Liunx三个平台。项目借鉴了部分Android项目源代码。下面是HierarchyViewer for iOS在Mac OS X的截图:我们接下来就来详细介绍该工具。Hierar 阅读全文

如何使用UIAutomation进行iOS 自动化测试(Part I)

2012-08-10 15:47 by 知平软件, 29244 阅读, 收藏, 编辑
摘要:写在前面 研究iOS的自动化测试也有些日子了,刚开始的时候,一直苦于找不到什么好的资料,只能从Apple的官网查阅相关的API文档,只可惜,Apple对开发者来说实在是不怎么友好,文档写得相当的粗略,对于初学者来说有一定的难度。 本来是打算自己动手写一篇关于iOS的UI自动化测试的入门级别的介绍性文档的,但想起来后面在具体解决一些问题的时候,收藏一篇很好的Blog,很全面地介绍了如何使用UIAu... 阅读全文

收集iOS程序的代码覆盖率

2012-08-01 11:41 by 知平软件, 4917 阅读, 收藏, 编辑
摘要:前面讲到<收集Android程序的代码覆盖率 >的时候,讲到收集代码覆盖率分别有修改最终程序(例如Emma是修改字节码),和修改源文件两种方式。而在iOS上,采用的就是后者,iOS原来用的是gcov收集代码覆盖率,后面苹果的LLVM项目,也实现了代码覆盖率收集功能,用法完全兼容gcov,而且生成的代码覆盖率统计文件的格式也兼容gcov。先说说怎样收集ios程序的代码覆盖率,然后再说说原理性的东西。不知道大家用的是xcode的哪个版本?老版本的xcode使用的clang编译器的代码覆盖率功能好像坏掉了……也就是说按照苹果的文档去做,生成的程序在启动的时候会崩溃。在最新的clang编译 阅读全文