背景介绍

由于iOS系统的限制,在非越狱的自动化测试中无法实现一些常用的功能,比如不同应用之间来回切换、模拟全局的点击事件等等。但是在越狱的环境下,这些限制就不存在了,我们可以利用各种小插件来实现我们想要的自动化测试的功能,今天就给大家介绍一款插件,通过这款插件可以实现从安装、卸载应用的自动化过程。

IPA Installer Console — 安装ipa

首先介绍IPA Installer Console工具,顾名思义,就是通过命令行的方式安装一个ipa包,当然它可不是只能安装应用这么简单,还有一些其他的功能。安装好这个插件以后,我们可以通过ssh登录到设备,查看一下工具的使用说明。

通过调用命令:ipainstall + “应用的路径”就可以实现安装ipa包了,这里的路径可以是对路径,也可以是相对路径。比如说我在/var/mobile/Downloads/目录下有一个xxxx.ipa文件,那么我就可以调用下面的命令来安装这个应用:

ipainstaller /var/mobile/Downloads/xxxx.ipa

用法非常的简单,如果想安装完应用后删除ipa文件,可以调用:

ipainstaller –d /var/mobile/Downloads/xxxx.ipa

如果是当前设备已经安装了这个应用,而我不想再次安装浪费时间, 只想清空该应用的Documents目录和Resource目录的话,可以调用:

ipainstaller –c /var/mobile/Downloads/xxxx.ipa

在安装的过程中也会有一些log的输出,我们可以通过这些log以及该函数调用的返回值,来判断该应用是否安装成功。

IPA Installer Console — 卸载应用

有安装就会有卸载,卸载应用同样也是非常简单:

ipainstaller –u “应用的bundle identifier”

就是调用-u命令后面接上应用的bundle identifier即可。

那么问题来了,这里的bundle identifier如何获取呢?别急,下面就给大家介绍如何获取当前设备上所有应用的bundle identifier。

IPA Installer Console — 查看应用的bundle id

ipainstaller –l

调用这个命令以后,就会显示当前设备上安装的所有第三方应用的bundle identifier。这样你就可以找到自己想要的bundle identifier。

简单吧!!!这就是IPA Installer Console工具,可以帮助你轻松搞定自动化安装,卸载应用。

【转】【iOS测试系列】常用测试小插件的使用的更多相关文章

  1. 闲聊select和input常用的小插件

    前言 在pc端的项目中,经常会用到表单标签,莫过于是select和input这两种,这两种相当常用.但往往原生的功能不尽人意,即使 input中type有n多属性,甚至连时间控件都有,但仍旧满足不了我 ...

  2. Web测试系列之测试工具

    一Web功能测试工具MAXQ MAXQ是开源的Web功能测试工具. MAXQ是开源的Web功能测试工具.他的特点:1)简单易学;2)是一个轻量级的Web功能测试工具;3)可以自动录制WebBrowse ...

  3. 代码规范和常用的js插件以及测试工具

    1.代码规范 .model层 1.1.1database file_proerty 1.1.2java fileProperty. 1.2.字段要有空指针 1.3.不创建爱数据库外键约束 1.4.已知 ...

  4. python 几种常用测试框架

    测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过se ...

  5. iOS桌面小插件 Widget Extension

    iOS桌面小插件 Widget Extension 这个插件时iOS14以后才出现的,基于SwiftUI 旧项目新建时可能一堆错误,其中一个时要把插件target 开发sdk版本设置为14.0以上 新 ...

  6. Web测试的常用测试用例与知识

    1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性 ...

  7. ElasticSearch 2 (29) - 信息聚合系列之测试驱动

    ElasticSearch 2 (29) - 信息聚合系列之测试驱动 摘要 我们可以用以下几页定义不同的聚合和它们的语法,但学习聚合的最佳途径就是用实例来说明.一旦我们获得了聚合的思想,以及如何合理地 ...

  8. iOS 单元测试和UI测试教程

    原文:iOS Unit Testing and UI Testing Tutorial 作者:Audrey Tam 译者:kmyhy 编写测试不是为了追求刺激,测试是为了避免你崭新的 App 变成了充 ...

  9. Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件

    一:Postman中接口请求设置环境变量和全局变量 全局变量和环境变量可以通过Pre-request Script和Tests设置,会在下面测试沙箱和测试断言中讲到. 全局变量的设置:官网参考http ...

随机推荐

  1. InnerHTML属性的XSS利用

    来自:http://www.myhack58.com/Article/html/3/7/2011/32395.htm innerHTML 是个奇怪的HTML属性,不是W3C标准支持的,但几乎所有的厂商 ...

  2. android中获取某段程序的执行时间

    Date   startDate   =   new   Date(System.currentTimeMillis()); 在收到设备返回数据之后添加如下语句: Date   endDate   = ...

  3. 【转】MVC4验证用户登录特性实现方法

    在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性. // 摘要: // 表示一个特性,该特性用于限制调用方对操作方法的访问. [AttributeUsage(Attribu ...

  4. Qt 5.3更新无数,更改C++控制台输出最为赞

    迁移至 多色网

  5. js 动态创建变量

      js 动态创建变量 CreationTime--2018年7月2日15点04分 Author:Marydon 1.实现方式 通过eval()实现 2.代码实现 /** * 声明一个函数 * @ex ...

  6. Linux命令-文件处理命令:cat

    cat /etc/issue 查看etc目录下面的issue文件内容(issue是linxu系统的欢迎文件) cat -n /etc/issue 查看文件内容的时候显示行号 tac /etc/issu ...

  7. some nets were not able to be matched

    原因是:PCB画好之后再次更改原理图,将更改后的原理图更新至PCB的时候会导致原理图中新生成的网络和PCB中原有的网络名不匹配 解决办法:PCB---设计----网络表---编辑网络,把PCB中不匹配 ...

  8. SIFT 、Hog 、LBP 了解

    SIFT.HOG.LBP,这三者都属于局部特征. 一.三者原理上的区别 1.SIFT:Scale-Invariant Feature Taransform,尺度不变特征变换. 尺度空间的极值检测:搜索 ...

  9. sql server数据库查询超时报错

    报错信息如下: 链接服务器"DBJointFrame"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "查询超时已过期". ...

  10. CYQ学习主要摘要3

    1:MAction:增加ResetTable功能  增加ResetTable功能:减少New MAction的个数2:MAction:增加在Update/Insert/Fill/ResetTable失 ...