回顾

HierarchyViewer for iOS是我们发布的一个开源项目,采用GPL v3.0协议。 HierarchyViewer for iOS可以帮助iOS应用的开发和测试人员,在没有源代码的情况下,也可以图形化地浏览iOS应用的控件树和控件属性。并且,HierarchyViewer for iOS还可以帮助生成iQuery代码和UIAutomation原生代码,把控件树导出为图片等功能。下面是Mac OS X下,1.0版本的截图:

 

HirarchyViewer for iOS 1.0是通过读取UIAutomation的结果日志(.plist)来获取控件树信息的,详细介绍可以参考原创开源项目 -- HierarchyViewer for iOS(1)一文。在2.1 Beta版中,我们加入了新的功能,现在,用户通过HierarchyViewer for iOS打开并运行App应用,就可以直接看到正在运行的应用的控件树。接下来我们将详细介绍。

 

新功能介绍

和1.0相比,我们发现2.1的工具栏上多了3个图标,他们分别用于启动iOS模拟器和应用,刷新控件树和停止应用。

 

启动iOS模拟器和应用

点击,将打开一个文件对话框:

 

选择一个iOS模拟器的应用,模拟器将被启动,应用将被加载。如下图所示:

 

和从UIAutomation结果日志.plist文件中获取的控件树相比,直接从应用中获取的控件树的属性列表将包含更多信息,包括enabled,visible属性等。

 

刷新控件树

当用户对模拟器进行操作,应用程序上的UI改变时,可以点击绿色的刷新按钮来刷新控件树:

 

这样,我们就能实时地深入了解运行时UI所有控件的状态和变化。

 

终止模拟器和应用运行

点击,将终止模拟器和应用程序的执行。

 

全球化和本地化支持

HierarchyViewer for iOS中添加了对全球化/本地化支持,目前支持中文和英语两种语言。默认语言为英语,用户可以在Preferences中修改语言为中文,重启后,设置将生效。

 

运行环境

HierarchyViewer for iOS需要JRE1.6及以上版本支持,2.1中的新功能只能在Mac OS X上运行(1.0的功能支持Linux和Windows),同时,要运行2.1的新功能,需要安装Instruments和iOS Simulator。

 

如何获得源代码和可执行程序

HierarchyViewer for iOS开源项目地址为https://github.com/vowei/HierarchyViewer-4-iOS,可执行程序下载地址:https://github.com/vowei/HierarchyViewer-4-iOS/downloads。 我们的其他开源项目也有意思,有兴趣可以看看。对项目有什么问题或建议,请给我们留言,我们会积极改进的。

 

本文由知平软件刘斌华原创,转载请注明出处。

知平软件致力于移动平台自动化测试技术的研究,我们希望通过向社区贡献知识和开源项目,来促进行业和自身的发展。

原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍的更多相关文章

  1. .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,给大家初步介绍了一下Software Protector序列号生成组件.今天就通过一篇简单的文章来预览一下其强大的功 ...

  2. HierarchyViewer for iOS 2.0 BETA Introduction

    We know HierarchyViewer is an useful tool in Android SDK. The developer and tester, who haven't the ...

  3. [原创开源项目]EPUBBuilder一款在线的epub电子书编辑工具

    epub 感觉自己么么哒, epub书:国外最流行的电子书格式: epub电子书介绍: epub全称为Electronic Publication的缩写,意为:电子出版, epub于2007年9月成为 ...

  4. iOS各个版本的新特性介绍

    官方汇总 What's News in iOS iOS 9.3 to iOS 10.0 API Differences Objective-C /usr/include Accelerate Audi ...

  5. iOS 常用工具库LFKit功能介绍

    简介:LFKit包含了平时常用的category,封装的常用组件,一些工具类. 需要LFKit中所有自定义控件的pod 'LFKit/Component' 需要LFKit中所有category的pod ...

  6. 2019年9月Github上最热门的JavaScript开源项目

      2019年9月Github上最热门的JavaScript开源项目 前端开发 前端开发 微信号 qianduan1024 功能介绍 专注于Web前端技术文章分享,包含JavaScript.HTML5 ...

  7. iOS开源项目周报0105

    由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...

  8. iOS开源项目周报1229

    由OpenDigg 出品的iOS开源项目周报第三期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Ma ...

  9. iOS开源项目周报1222

    由OpenDigg 出品的iOS开源项目周报第二期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. io ...

随机推荐

  1. $.getJSON JSONP的新坑

    神坑1:返回的内容必须是正规的json数据.如 { "firstName": "Bill", "lastName": "Gates ...

  2. SVN :This XML file does not appear to have any style information associated with it.

    SVN :This XML file does not appear to have any style information associated with it. The document tr ...

  3. IOS彩票第三天界面

    ******ios6 和ios7的适配 ILBaseTableViewController.m - (void)viewDidLoad { [super viewDidLoad]; // 244 24 ...

  4. Interface => IDataErrorInfo

    Introduction to common Interfaces IDataErrorInfo Provides the functionality to offer custom error in ...

  5. 【五子棋AI循序渐进】——多线程搜索

    关于多线程搜索,有很多方法来实现,很多文章推荐基于MTD(F)的方式.好处不言而喻,不过我的程序中采用的是基于PVS的多线程搜索.实现起来主要是这几个方面问题需要解决: 1.置换表的互斥访问. 2.局 ...

  6. Oracle 参数之_small_table_threshold

    SQL> select * from v$version; BANNER ------------------------------------------------------------ ...

  7. 透过proxy进行docker pull(Centos6.8)

    由于必须通过proxy代理上网. 使用docker pull时一直出现如下错误: [root@centoo65 ~]# sudo HTTP_PROXY=http://186.100.4.107:808 ...

  8. ArrayBlockingQueue,BlockingQueue分析

    BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会 ...

  9. JAVA多线程实现的三种方式

    JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...

  10. c/c++ 数据结构 链表插入数据代码(一)

    链表插入数据,有两种方法,链表头定义为指针. 1.指针传递 #include <stdio.h> #include <stdlib.h> typedef struct LNod ...