1 产品介绍 - MobileRunner帮助文档

1 产品介绍


1.1 公司简介 - MobileRunner帮助文档

1.1 公司简介

上海泽众软件科技有限公司成立于2003年10月，公司的宗旨是通过向软件开发企业提供最优质的测试工具软件。测试解决方案和测试咨询服务，帮助国内用户提高软件的品质。我们一直致力于软件测试工具领域的探索。于2004年推出了终端自动测试引擎（Terminal AutoRunner，简称TAR）在2005年，推出了第一个测试管理工具TestCenter，TestCenter与TAR一起构成了泽众软件自动化测试解决方案。在2006年推出了自动功能测试工具：AutoRunner，在2013年推出了自动性能测试工具：PerformanceRunner。AutoRunner、PerformanceRunner与TestCenter构成了泽众软件的另外一个完整的自动化测试解决方案。经过不懈的努力，PerformanceRunner自动测试引擎、TestCenter得到了用户的认可和应用，表现出强大的生命力。PerformanceRunner测试工具、TestCenter测试管理工具已经成为测试工具软件市场的重要选择。


1.2 产品简介 - MobileRunner帮助文档

1.2 产品简介


1.1.1 自动测试简介 - MobileRunner帮助文档

1.1.1 自动测试简介

自动测试过程就是通过模拟人工操作，完成对被测试系统的输入，并且对输出进行检验的过程。自动测试是由软件代替人工操作，对被测试系统的 发出指令，模拟操作，完成自动测试过程。

测试脚本

自动测试，就是使用一个程序来测试另一个程序（被测试的应用系统）功能的正确性。如果用来测试的程序本身非常复杂，也需要被测试，或者编写困难，那么自动测试就失去了意义。因此，用来测试另外一个程序的程序往往是非常简单的，我们把这个程序称为“测试脚本”。 测试脚本通常在测试工具的 IDE 里执行，并且获得 IDE 的支持。

自动记录

当我们编写测试脚本的时候，往往发现编写脚本本身是很困难的：了解脚本的语法、了解测试过程、把测试过程转换成为测试脚本语句。自动记录，就是通过记录一个操作过程来自动获得测试脚本的过程。通过自动记录，我们就能够得到一个完善的脚本，通过修改这个脚本，我们得到更通用的测试脚本。

检查点

测试的目的是检查数据是否正确。 在测试的过程中，我们需要检查某个组件的某些属性满足某个条件。这个检查的位置和条件，我们称为检查点。在 MobileRunner 中，使用mr.checkPoint(“图片名称”，”图片坐标”,”图片大小”)作为检查点的脚本语句，它检查对象objectname 的属性 property 是否和期望值一致。 在使用中，可以使用检查点来检验对象的各个方面属性。


1.1.2 MobileRunner功能测试工具简介 - MobileRunner帮助文档

1.1.2 MobileRunner功能测试工具简介

MobileRunner 是面向移动平台的自动化测试工具。支持同时直接连接多台移动设备，通过脚本录制和执行，实现移动设备和应用的自动化测试、设备兼容性测试、功能等测试工作。

MobileRunner可以进行

●支持iOS和Android两个系统的录制与回放

●支持对象录制和图像识别两种录制模式，增强了对不能识别对象进行的处理

●支持多设备并发执行，可以选择连接中的一台或者多台设备进行回放操作

●增加了可以指定多条脚本进行回放的功能，方便对指定脚本进行调试

●增加了录制时辅助录制框，方便对页面对象元素进行定位

●增加手机性能监控功能，可在执行日志内查看手机内存及CPU状况

MobileRunner特点

● 在移动设备操作，录制创建脚本

● 编辑测试脚本、参数化、检查点设置
● 执行测试脚本，驱动手机测试进行
● 图片识别。

● 移动设备同步


1.3 系统要求 - MobileRunner帮助文档

1.3 系统要求

在安装本软件之前请确认系统配置符合以下条件：

安卓设备及配套环境要求：

● 操作系统要求：Windows(32位/64位) 2000/xp/vista/2003/7/2008

● 内存要求：不少于128M

● 磁盘空间要求：不少于150M剩余磁盘空间

● 安卓设备版本要求：安卓版本4.2及以上

IOS设备及配套环境要求：

● 操作系统要求：MAC

● 内存要求：不少于128M

● 磁盘空间要求：不少于150M剩余磁盘空间

● IOS设备版本要求：IOS版本9.3及以上


1.4 服务支持 - MobileRunner帮助文档

1.4 服务支持

我们通过在线QQ、微信、电话、电子邮件为您提供支持与服务，您也可访问我们的网站http://www.spasvo.com/寻求帮助；为保证服务质量，确保有效地解决用户的问题，保障用户的项目实施进度，技术支持仅向授权用户和授权试用用户提供。请您在联系泽众技术支持时，告知您的单位名称和服务代码。

技术支持
    电话：021-60725088-8007

传真：021-60725088-8017
    电子邮件：support@spasvo.com

QQ：1404189128

泽众微信公众号

产品服务

有关培训、产品购买及试用授权方法的问题，请与销售代表联系，或联系泽　众咨询热线。

电话：021-60725088-8006

传真：021-60725088-8017

电子邮件: sales@spasvo.com


2 安装说明 - MobileRunner帮助文档

2 安装说明


2.1 服务器安装 - MobileRunner帮助文档

2.1 服务器安装

MobileRunner IOS运行环境部署文档

1.安装brew(http://brew.sh)

打开terminal应用执行下面的命令自动安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

若出现如"Press RETURN to continue or any other key to abort", 按下"return"键继续。

2.安装 nodejs(https://nodejs.org/en/)

打开MRForMac.zip解压后目录下的node-v6.11.2.pkg进行安装，或直接到官网下载安装。

3.安装Xcode

要测试最新iOS系统的手机请安装最新版本的Xcode，在Appstore找到Xcode进行下载。

注意：Xcode版本需要>=手机系统版本，如要测试iOS 9.3.3系统的手机，必须安装至少8.3.3版本的Xcode

4.安装Appium以及相关依赖

打开命令行执行命令:npm install -g appium@1.6.1，若安装过于缓慢，可以使用另一种方式安装:解压MRForMac.zip文件，将其中的appium1.6.1.zip解压到安装目录如/Users/SPASVO,然后执行cd /Users/SPASVO/appium命令，最后执行npm link命令完成安装。

安装完成之后终端执行sudo chmod -R 777 /Users/SPASVO/appium/node_modules/appium-xcuitest-driver

5.安装Appium相关依赖

依次输入以下命名进行安装(因国内访问国外源速度不佳，所以安装CNPM使用国内镜像)

sudo npm install -g cnpm

sudo cnpm install -g appium-xcuitest-driver

sudo cnpm install -g ios-deploy

brew install --HEAD libimobiledevice

brew install --HEAD ideviceinstaller

sudo chmod -R 777 /var/db/lockdown/

6.WebDriverAgent签名

打开目录/Users/SPASVO/appium/node_modules/appium-xcuitest-driver/WebDriverAgent(实际位置以自己电脑为准)，打开WebDriverAgent.xcodeproj文件如图

将TARGETS中所有目标中的Bundle Identifier或者Product Bundle Identifier中的facebook改成其他字段，如com.facebook.WebDriverAgentLib改为com.xxxxx.WebDriverAgentLib,xxxxx只要和facebook不冲突即可。

将Automatically manage signing置为选中状态，Team中选择自己添加的证书，其中免费证书最多可以添加三台设备，99$的证书可以添加100台设备，299$企业版证书不限设备数量。

7.IOS服务器启动

服务器部署完成之后需要启动终端服务方可生效。

如果是单机设备，则需要启动一个终端输入命令：

（1）java -jar /Users/SPASVO/Desktop/MRForMac/spasvoserver.jar

（2）appium -p 4723 --tmp /Users/SPASVO/Desktop/a1

如果是多机设备，则需要启动多个终端输入命令：

（1）java -jar /Users/SPASVO/Desktop/MRForMac/spasvoserver.jar

（2）appium -p 4723 --tmp /Users/SPASVO/Desktop/a1

（3）appium -p 4724 —tmp /Users/SPASVO/Desktop/a2

...(有多少设备需要执行就要启动多少个终端)
其中两个变量一个是端口号一个是缓存路径，注意缓存路径需要是存在路径。


2.2 MobileRunner安装 - MobileRunner帮助文档

2.2 MobileRunner安装

● 进入本公司网站www.spasvo.com注册账户。

● 注册之后登录即可下载MobileRunner。

● 双击安装图示，按照提示安装完成，在安装的过程中有杀毒软件出现拦截提示时选择放行。

● MobileRunner的试用期为15天，如果想长期使用需要申请license,申请license的过程： 打开软件，点击菜单【许可证】->【申请许可证】，按工具提示进行申请。

● 勾选想要支持的对象并输入预期使用时间，点击确定会弹出文件需要保存的路径，选择路径确定后就可在此路径下生成MobileRunner.req。

● 将生成的req文件上传到公司技术支持的邮箱（support@spasvo.com），我们会通过用户注册时的邮箱将license 发送至您邮箱。

● 收到license文件后在软件中点击菜单【许可证】->【导入许可证】，按提示选择许可证即可。


3 功能介绍 - MobileRunner帮助文档

3 功能介绍


3.1 用户界面 - MobileRunner帮助文档

3.1 用户界面

集成开发环境：

(Integrated Development Environment 简称IDE)软件是用于程序开发环境的应用程序，一般包括代码编辑器、编译器、调试器和图形用户界面工具，也就是集成了代码编写功能、分析功能、编译功能、Debug功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。如微软的Visual Studio系列，Borland的C++ Builder、Delphi系列等。

IDE环境菜单栏:

MobileRunner中的菜单栏如上图所示，主菜单包含文件、编辑、设备、执行、设置、工具、许可证、帮助等菜单项，下面对每一项做一个简介。

● 文件菜单：

如上所示，所有对脚本的管理操作都可以在文件菜单下完成，包括对脚本的新建，导入，保存，另存为，关闭，改变工作空间，最近打开，退出等等。

● 编辑菜单：

如上所示，所有对脚本的编辑操作都可以在编辑菜单下完成，包括对脚本的撤销，重做，查找，替换，查找下一个，剪切，复制，粘贴以及对象库。

● 设备菜单：

如上图所示，本地设备列表按钮，点击会显示所有与电脑连接的相应设备。

● 执行菜单：

如上图所示，执行菜单只有开始执行按钮，开始执行菜单启动回放脚本功能。

● 设置菜单：

如上图所示，设置菜单中包含了回放设置、语言设置、字号及IOS驱动设置和网络许可模式，软件现在支持简体中文和英文设置，在程序初次启动时，会根据系统默认语言选择初始语言类型和字号，当用户手动选择语言类别和字号时，软件再次启动才会生效。IOS驱动设置，在进行IOS项目下脚本录制前，需要进行相应服务器IP以及应用标识的配置。

● 工具菜单：

如上图所示，工具菜单提供日志查看功能。

● 许可证菜单：

如上图所示，许可证菜单是MobileRunner新增的菜单，方便用户在软件中完成许可证的生成和导入工作，由于免费的许可证试用期为15天，当试用期过后再次使用软件后会提示LIC过期的提示，此时可以点击“申请许可证”菜单项，根据需要产生req文件，获得我公司为您配置的LIC文件后，可以点击“导入许可证”菜单项将其导入即可。

● TC同步：

如上图所示，工具菜单提供TC同步功能。

● 帮助菜单：

如上图所示，帮助菜单为您提供软件使用帮助和公司产品介绍。

IDE环境工具栏:

1 2 3 4 5 6 7 8 9 10

● 如上图所示，工具栏共有10个按钮，下面简单介绍其功能。

按钮1：新建脚本，和【文件】→【新建】→【脚本】 菜单功能一样；

按钮2：保存改动脚本（快捷键Ctrl+S），和【文件】→【保存】菜单功能一样；

按钮3：录制脚本，和【录制】→【开始录制】菜单功能一样；

按钮4：回放脚本，和【执行】→【开始执行】菜单功能一样；

按钮5：脚本编辑时用以撤销（快捷键Ctrl+Z），和【编辑】→【撤销】菜单功能一样；

按钮6：脚本编辑时用以重做（快捷键Ctrl+Y），和【编辑】→【重做】菜单功能一样；

按钮7：脚本编辑时用以查找替换（快捷键Ctrl+F），和【编辑】→【查找/替换】菜单功能一样；

按钮8：脚本编辑时用以查找下一匹配点（快捷键F3），和【编辑】→【查找下一个】菜单功能一样；

按钮9：循环参数表按钮，用于新建循环参数表。

按钮10：对象库按钮，用于查看脚本中存在的对象信息。

IDE环境三个区域:

●项目管理区：创建项目，创建测试用例，进行项目浏览，切换对象浏览，在MobileRunner中位于垂直拆分条的左边；

●脚本编辑区：对测试脚本编辑，在MobileRunner中位于水平拆分条的上部；

●结果输出及参数表编辑：测试脚本标准输出，查看测试信息，编辑参数表，在MobileRunner中位于水平拆分条的下部。

● 【项目管理器】

项目管理器用来显示当前 IDE 中所有的项目，并且显示项目中的脚本。

项目管理器中的项目及脚本组织成一个树状结构，每一个项目名称是一个文件夹，其下的脚本都位于此文件夹下。

对于每一个节点，如果是项目名称，双击可以打开；如果是脚本，则双击可以把这个脚本在编辑器中打开。

树支持鼠标右键菜单，支持删除、增加等操作。

● 【脚本编辑器】

双击项目管理器中要编辑的脚本可打开脚本编辑器。

编辑器可实现关键字着色，支持多行注释（/**/）及单行注释符（//），支持脚本命令自动补全（快捷键Alt+/）。

如果脚本已被编辑过但还没有保存，在脚本表单中相应的脚本名称后会有一个星号提示符，提示你保存脚本，点击工具栏的保存按钮或是快捷键Ctrl+S保存后星号消失。

在编辑器中右击鼠标可以弹出如下快捷菜单，包含了一些常用的快捷操作菜单项：


3.2 项目与脚本操作 - MobileRunner帮助文档

3.2 项目与脚本操作

● 新建项目、导入项目

方式一：

方式二：

● 排除项目、删除项目、重命名项目

脚本操作

● 新建脚本、导入脚本

方式一：

方式二：

● 排除脚本、删除脚本、重命名脚本

改变工作空间

在项目管理器中的所有项目及脚本都在同一个工作空间，如果想打开不在此工作空间的其他项目或脚本，可以通过切换工作空间来实现。操作方式：【文件】→【改变工作空间…】，见下图。

注意：在切换工作空间时，会清空当前项目管理器中的所有项目，然后才会加载新的工作空间的项目和脚本，不同工作空间中的脚本不会出现在同一项目管理器中；在第一次使用MobileRunner时会提示设定一个工作目录，如下图，默认是“我的文档”。


3.3 录制脚本 - MobileRunner帮助文档

3.3 录制脚本

安卓设备设置功能脚本录制

以录制安卓设备中设置菜单功能为例，详细的介绍一下录制安卓设备脚本的过程。

● 创建脚本

根据前面的【项目与脚本操作】一节所述方法创建一个名为e1.bsh的脚本（脚本名可任取），双击脚本打开。

● 录制脚本

首先需要安卓设备通过数据线连接电脑，并且弹出提示框点击信任此设备。点击菜单【设备】→【本地设备列表】，或者是直接点击工具栏上的录制按钮，弹出咨询窗口。

配置好后点击确定，软件将进入录制阶段，此阶段里软件界面会被隐藏，并在屏幕中显示一个录制信息窗口，显示出当前的录制相关信息。下图所示的是点击了安卓设备上按钮生成的脚本。

在录制的每一步操作中，都会自动生成一个sleep动作。

注意：录制过程中可暂停录制，此时对屏幕进行操作不会生成对应的脚本信息，暂停时开始键启用；

● 停止录制

录制完成后，点击面板左上角的停止按钮，结束录制，此时在脚本里我们会看到面板上的脚本。

● 生成文件

在录制好脚本后，在项目目录下会存在如下几个文件。

第一个为图片文件夹，保存了脚本编辑器中的操作的截图，设置检查点的截图，检查点比对出错截图；第二个为脚本文件保存了脚本编辑器中的脚本；第三个为参数表文件，是一个excel表格，所有的参数化数据都将被保存到这里，当然在我们没用到参数化时，此文件中无数据。上面的三个文件都可以在软件中修改，不建议在软件外编辑。

IOS设备设置脚本录制功能

● 创建脚本

根据前面【项目与脚本操作】一节所述方法创建一个名为e1.bsh的脚本（脚本名可任取），双击脚本打开。

● 录制脚本

首先IOS设备通过数据线连接电脑，并且点击弹出框选择信任此设备。然后点击菜单【设置】→【IOS驱动设置】出现如下截图：

根据IOS服务器实际IP进行配置服务器IP地址和相应被测APP的应用标识。配置完成后重启MobileRunner方可生效。点击菜单【设备】→【本地设备列表】，或者是直接点击工具栏上的录制按钮，弹出咨询窗口。

配置好后点击确定，软件将进入录制阶段，此阶段里软件界面会被隐藏，并在屏幕中显示一个录制信息窗口，显示出当前的录制相关信息。下图所示的是点击了IOS设备上按钮生成的脚本。

在录制的每一步操作中，都会自动生成一个sleep动作。

● 停止录制

录制完成后，点击面板左上角的停止按钮，结束录制，此时在脚本里我们会看到面板上的脚本。

● 生成文件

第一个为图片文件夹，保存了脚本编辑器中的操作的截图，设置检查点的截图，检查点比对出错截图；第二个为脚本文件保存了脚本编辑器中的脚本；第三个为参数表文件，是一个excel表格，所有的参数化数据都将被保存到这里，当然在我们没用到参数化时，此文件中无数据。上面的三个文件都可以在软件中修改，不建议在软件外编辑。


3.4 回放脚本 - MobileRunner帮助文档

3.4 回放脚本

回放脚本的过程，实质是对先前的录入动作的一次重复操作，只是这个过程是根据录入的脚本自动完成的。下面就以先前录入的IOS设备脚本为例，介绍一下回放操作及注意事项。

● 单机执行脚本回放

选中一个需要执行的脚本信息

点击开始执行按钮 [image] ，弹出设备列表页面，选择一个设备信息，点击回放按钮，弹出回放页面。

点击回放，在连接的手机会回放之前录制的操作，同步会有日志回放提示，结束操作完成后会生成日志信息

● 多机执行脚本回放

在执行菜单中，点击开始执行按钮，弹出设备列表页面，选择多个设备信息，点击回放按钮，弹出回放页面。

点击回放，在连接的手机会回放之前录制的操作，同步会有日志回放提示，结束操作完成后会生成多个设备执行日志信息。

● 注意事项

1、回放时必须要将待回放的脚本打开，否则回放菜单和工具栏的回放按钮将不可用。

2、在编辑器中打开了多个脚本时，应确保待回放的脚本是当前编辑的脚本。

3、回放时一定要将各项状态置于录制时的初始状态，否则回放可能会失败。

4、在回放的过程中不要再操作安卓设备，直至回放完成，否则回放可能会失败。

5、如果回放的脚本被手工修改过一定要及时保存，否则修改过或是被注释掉的动作在回放时会得不到体现


4 高手进阶 - MobileRunner帮助文档

4 高手进阶


4.1 添加检查点 - MobileRunner帮助文档

4.1 添加检查点

● 添加检查点

在MobileRunner中，可以添加检查点来验证相应的操作是否正常，其具体的操作是在录制脚本时添加相应的检查点。

一、设置对象校验点

1.在录制菜单点击开始录制按钮，弹出录制页面

2.点击设置对象校验点按钮，录取对象生成校验脚本。

二、设置图像校验点

1.在录制菜单点击开始录制按钮，弹出录制页面。

2.点击设置图像校验按钮，点击截图按钮，截取当前截图并设置检查点（检查点可以选择全部界面比对或者局部界面）

3.鼠标需要设置检查点的区域,双击选中区域。

说明：

检查点是一个图片检验比对的过程，在脚本回放的时候，设定的检查点出会比对检查点的截图，与当前图片的图片中元素信息是否一致。一致则通过，不一致则不通过。

4.会在脚本出自动生成检查点语句


4.2 添加延时 - MobileRunner帮助文档

4.2 添加延时

在MobileRunner中添加延时有有两种方法，一种方法是录制脚本自动生成的，另一种是在脚本编辑框中手动添加延时。

一、本编辑框中，选择一处没有添加延时的脚本

二、手动输入延时脚本命令


4.3 模拟物理按键 - MobileRunner帮助文档

4.3 模拟物理按键

在MobileRunner的录制过程中，还提供对于安卓设备的物理按钮提供模拟功能。

如上图所示，工具栏共有3个按钮，下面简单介绍其功能。

按钮 [image] ：返回主页按钮

按钮 [image] ：返回上一级按钮

按钮 [image] ：重新定位对象按钮


4.4 循环参数表 - MobileRunner帮助文档

4.4 循环参数表

一、参数表编辑

在循环参数表之前首先要进行参数表编辑，参数表如下图所示：

第一栏是工具栏，主要是对参数表的行列进行增加删除操作、排序操作等等。最后一个图标是从关联的xls文件中重新载入数据，当编辑了参数表中的某个单元格时左上角会有一个 * 标记，提示保存修改，点击菜单栏中的【文件】→【保存】或按下Ctrl+S快捷键可以保存修改，并且星号消失。参数表“名称”这一栏可以是有意义的任何名字，它用于getFrom等命令函数的第一个参数。在每一个单元格中双击可以对单元格进行编辑，在每一个单元格中鼠标右击可以复制单元格内。

二、脚本参数化

一条普通脚本只能执行某个特定的动作，将脚本参数化后则可以执行不同的功能。脚本参数化之前，必需要编辑好参数表，具体编辑方法请查看参数编辑一节。下面是一段简单的参数表数据。

接下来是增加参数化脚本循环体。点击菜单【编辑】→【循环参数表】或直接点击工具栏的循环参数表按钮或在脚本编辑器中右击，会弹出如下信息面板。

他会从参数表中提取信息，注意小括号中的文字，起始列是包含在内的，而结束列被排除在外。点击确定后脚本编辑器中会添加如下循环参数表代码，这是一个循环结构的空壳，它和参数表关联，参数表中的数据都是保存在和脚本同名的xls表中的。

下面是一段简单的登录操作脚本

下面是将脚本的第四句和第六句进行参数化，使它执行上面参数表中的输入用户名为1密码为4以及用户名为2密码为6的操作，参数化脚本如下：

结果和日志输出如下：


5 脚本命令 - MobileRunner帮助文档

5 脚本命令


5.1 sleep - MobileRunner帮助文档

5.1 sleep

sleep(long time)

适用范围：Android+iOS

命令含义：休眠当前程序命令。

命令参数：一个参数，要求输入休眠时间,参数单位为毫秒。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.sleep(1000);休眠一秒


5.2 touch - MobileRunner帮助文档

5.2 touch

touch(String element)

适用范围：Android

命令含义：触摸屏幕操作命令。

命令参数：一个参数，点击获取的图片名称。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.touch("po151015.jpg");

touch(String element, int x, int y)

适用范围：Android

命令参数：三个参数，第一个参数录制时对象的名称，第二个参数点击的位置的x坐标，第三个参数点击位置的y坐标

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.touch("po151015.jpg"，134,192);


5.3 touchKey - MobileRunner帮助文档

5.3 touchKey

touchKey(String key)

命令含义：点击设备物理按键命令。

命令参数：一个参数，要求输入点击的物理按键的名称，名称有“BACK”(返回)，“HOME”（主页面）。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.touchKey("BACK");


5.4 touchMove - MobileRunner帮助文档

5.4 touchMove

touchMove(int xStart, int yStart, int xEnd, int yEnd, long time)

命令含义：Android 滑屏操作命令。

命令参数：五个参数，要求输入滑屏时的起始坐标、结束坐标和用时。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.touchMove(100,110,500,300,2000);


5.5 setValue - MobileRunner帮助文档

5.5 setValue

setValue(String element,String inputStr)

命令含义：赋值操作命令。

命令参数：两个个参数，第一个参数是点击获取的对象名称，第二个参数是赋值的字符串。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.setValue("sdwehdu.jpg","spasvo")


5.6 checkPoint - MobileRunner帮助文档

5.6 checkPoint

checkPoint (String element,int x,int y,int width,int height)

命令含义： 检查脚本执行结果的命令。

命令参数：五个参数，要求输入保存检查图的文件名，图片坐标及大小。

命令产生：在脚本之间调用时出现此命令，手工添加或点击录制菜单中的设置检查点来添加。

命令举例：mr.checkPoint("d1171940.png",59,583,587,92);


5.7 callScript - MobileRunner帮助文档

5.7 callScript

callScript(String file)

命令含义： 检查脚本执行结果的命令。在当前脚本中调用另一个脚本的命令。

命令参数：一个参数，要求输入被调用脚本的绝对路径。

命令产生：在脚本之间调用时出现此命令，只能够手工添加。

命令举例：mr.callScript("F:\\MR\workgroup\safsd\dasf.bsh");


5.8 getParameterDataList - MobileRunner帮助文档

5.8 getParameterDataList

getParameterDataList(String excelFile)

命令含义：从xls表中获取数据列表，主要用于循环参数表。

命令参数：一个参数，输入当前项目中的xls文件名或不在当前项目中的全路径名。

命令返回：LinkedList类型的数据链表。

命令产生：手工添加。

命令举例：mr.getParameterDataList("test003.xls")


5.9 IOStouchMove - MobileRunner帮助文档

5.9 IOStouchMove

IOStouchMove(int startx,int starty,int endx,int endy,int duration)

命令含义：IOS 滑屏操作命令。

命令参数：五个参数，分别是输入滑屏时的起始坐标、结束坐标和用时。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.IOStouchMove(100,110,500,300,2000);


5.10 IOStouch - MobileRunner帮助文档

5.10 IOStouch

IOStouch(String element,int localX,int localY)

命令含义：点击屏幕操作命令。

命令参数：三个参数，分别代表点击获取的图片名称，图片X坐标，图片Y坐标。

命令产生：在脚本之间调用时出现此命令，鼠标点击或者手工输入来添加。

命令举例：mr.IOStouch("po151015.jpg",596,210);

IOStouch(int localX,int localY)

命令参数：两个参数，图片X坐标，图片Y坐标。

命令举例：mr.IOStouch("po151015.jpg",596,210);


5.11 IOStouchNameAndOffset - MobileRunner帮助文档

5.11 IOStouchNameAndOffset

IOStouchNameAndOffset(String name,int offsetX,int offsetY)

命令含义：通过对象名称点击该对象。

命令参数：三个参数；第一个参数对象的name，第二个参数点击的X坐标，第三个参数点击的Y坐标。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.IOStouchNameAndOffset("po151015.jpg",596,210);


5.12 captureScream - MobileRunner帮助文档

5.12 captureScream

captureScreen()

命令含义：截取手机屏幕操作命令

命令参数：无参数

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.captureScreen();


5.13 IOStouchFast - MobileRunner帮助文档

5.13 IOStouchFast

IOStouchFast(String element)

命令含义：快速点击对象。

命令参数：一个参数；获取的对象名称。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.IOStouchFast("po151015.jpg")


5.14 IOSsetText - MobileRunner帮助文档

5.14 IOSsetText

IOSsetText(String element, String inputStr)

命令含义：给特定的对象添加新的属性值。

命令参数：两个参数；第一个参数对象的名称，第二个参数用户添加的属性的值。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.IOSsetText("password","123456")。


5.15 IOSgetMessage - MobileRunner帮助文档

5.15 IOSgetMessage

IOSgetMessage(String element)

命令含义：获取交易合同号

命令参数：一个参数；对象名称。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.IOSgetMessage("交易001")。


5.16 IOSsetNumberPad - MobileRunner帮助文档

5.16 IOSsetNumberPad

IOSsetNumberPad(String inputStr)

命令含义：键盘封装，模拟键盘输入

命令参数：一个参数；需要输入的值。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。注意:使用该方法需要提前将每一个用到的数字键录制下来，如1~9

命令举例：mr.IOSsetNumberPad("123456")。


5.17 IOScheckElement - MobileRunner帮助文档

5.17 IOScheckElement

IOScheckElement(String element)

命令含义：校验对象是否存在。

命令参数：一个参数点击获取的对象名称

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.IOScheckElement("43536u67.jpg");


5.18 getMessage - MobileRunner帮助文档

5.18 getMessage

getMessage(String element)

命令含义：获取文本对象的内容。

命令参数：一个参数；获取的对象的名称

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令举例：mr.getMessage("spasvo.jpg"）。


5.19 touchByscroll - MobileRunner帮助文档

5.19 touchByscroll

public void touchByscroll(String obj)

命令含义：滚动查找对象

命令参数：obj:对象的名称或者录制到的对象描述

命令产生：通过手工输入来添加或者通过编辑录制后的脚本

命令举例：mr.touchByscroll("关于手机"）。

public void touchByscroll(String obj,boolean isFromTop)

命令含义：滚动查找对象

命令参数：obj:对象的名称或者录制到的对象描述;isFromTop:是否需要从最上方查找

命令产生：通过手工输入来添加或者通过编辑录制后的脚本

命令举例：mr.touchByscroll("关于手机"，false）。

public void touchByscroll(String element,String obj)

命令含义：滚动查找对象

命令参数：element:对象的名称或者录制到的对象描述;obj:另一个名称的对象

命令产生：先录制一个对象，根据该对象类型，查找另一个名称的对象

命令举例：mr.touchByscroll("TextView|电池信息"，"关于手机"）。

public void touchByscroll(String element,String obj,boolean direction)

命令含义：滚动查找对象

命令参数：element:对象的名称或者录制到的对象描述;obj:另一个名称的对象;isFromTop:是否需要从最上方查找

命令产生：先录制一个对象，根据该对象类型，查找另一个名称的对象

命令举例：mr.touchByscroll("TextView|电池信息"，"关于手机",true）。


5.20 checkDatabase - MobileRunner帮助文档

5.20 checkDatabase

checkDatabase(String type,String url,String user,String passward,String sql,String checkStr)

命令含义：校验数据库。

命令参数：六个参数，第一个参数输入数据库类型，第二个参数输入数据库地址，第三个参数输入数据库访问用户名，第四个参数输入数据库访问密码，第五个参数输入数据库查询语句，第六个参数输入校验期望值。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令返回：校验成功返回true，否则返回false

命令举例：mr.checkDatabase("SQL Server", "192.168.1.50:12345/mydb", "spasvo", "123", "SELECT name FROM students WHERE id=45", "Zhang san");


5.21 getDatabase - MobileRunner帮助文档

5.21 getDatabase

getDatabase(String type,String url,String user,String passward,String sql)

命令含义：查询数据库。

命令参数：五个参数，第一个参数输入数据库类型，第二个参数输入数据库地址，第三个参数输入数据库访问用户名，第四个参数输入数据库访问密码，第五个参数输入数据库查询语句。

命令产生：在脚本之间调用时出现此命令，手工输入来添加。

命令返回：返回查询结果。

命令举例：String [][] str = mr.getDatabase("SQL Server", "192.168.1.50:12345/mydb", "spasvo", "123", " SELECT name, sex, age FROM students WHERE id > 45 AND id < 50");


6 常见问题 - MobileRunner帮助文档

6 常见问题


6.1 MR安装出错 - MobileRunner帮助文档

6.1 MR安装出错

解答：此问题多发生在Win7操作系统上。由于软件安装时要进行各种读写操作、电脑硬件信息获取、插件的注册等，每一项操作都需要程序有最高权限，而在Win7下默认是没有最高权限的，所以安装会出现问题。

解决方法是：右击安装包，在弹出菜单中选择以【管理员权限运行】即可。


6.2 MR开始录制时无法连接设备 - MobileRunner帮助文档

6.2 MR开始录制时无法连接设备

解答：第一步：关闭所有的拦截软件，例如：360,金山毒霸等

第二步：点击手机设置，找到开发者选项，选择开发者模式，打开USB调试，进行驱动安装（安卓系统升级到4.1以后， “开发者选项”给隐藏起来了，调出来的办法是：进入“设置”——“关于设备”，找到“内部版本号”，连续快速点击“内部版本号”多次，然后，就可调出来了。）

安装成功后刷新MR界面的本地设备是否连接成功，若设备列表成功显示设备信息则连接成功。若设备没有连接即驱动安装失败，则进入步骤3。

第三步：去相应品牌的手机官网进行驱动下载或者下载豌豆荚软件，进行安装本机驱动，豌豆荚显示连接成功即可。安装驱动之后卸载豌豆荚，因为豌豆荚会与MR产生冲突。

刷新MR界面的本地设备是否连接成功，若设备列表成功显示设备信息则连接成功。若设备连接失败则进入步骤4

第四步：打开Windows的cmd，输入netstat -aon|findstr "5037"

第五步：根据PID号找到对应的程序：tasklist|findstr "10916"，找到对应的程序名

第六步：打开MobileRunner的本地设备，看是否有手机设备链接，此时应该成功显示设备列表


6.3 MR录制时无法获取对象 - MobileRunner帮助文档

6.3 MR录制时无法获取对象

解答：

A、现在软件只支持录制Android 4.0以上、iOS 9.0以上版本的设备，Android 4.0以下或者iOS 9.0以下的设备无法正常录制

B、请确认在录制脚本时，杀毒软件弹出的拦截消息被放行，如果选择禁止的话，无法录制出脚本。

C、请确认您申请的lic文件时是否选中了支持安卓的录制，如果没有选的话，录制不出脚本。

以上三种情况需要重新启动MobileRunner再录制。


6.4 MR回放的时候检查校验点错误 - MobileRunner帮助文档

6.4 MR回放的时候检查校验点错误

解答：此问题可能是在脚本回放的时候，脚本执行速度过快，没有切换到相应的页面位置处就开始执行检验，所以在脚本执行结束后检查点会报错。解决办法就是在脚本执行的每一步操作中添加延时sleep或者修改延时时间


6.5 MR连接进度条卡死 - MobileRunner帮助文档

6.5 MR连接进度条卡死

解答：进度条运行到100%无反应这个问题可能是在启动了MobileRunner以后，有开启手机助手之类的软件造成的adb冲突，只有重启MobileRunner后再点击录制按钮


6.6 MR循环参数表未执行 - MobileRunner帮助文档

6.6 MR循环参数表未执行

解答：

A、检查参数表数据设计的是否正确；

B、对参数表进行的任何修改是否都已保存；

C、循环参数表的循环体脚本是否编写得当；

D、检查参数化后，回放时的实际对象在对象库中是否存在。


6.7 MR录制过程中出现卡死 - MobileRunner帮助文档

6.7 MR录制过程中出现卡死

解答：这个问题可能是MobileRunner启动之后失去了与手机的内部连接，需要重新启动MobileRunner和重新插拔手机。


6.8 MR如何录制苹果手机 - MobileRunner帮助文档

6.8 MR如何录制苹果手机

第一步：在Mac服务器上安装iOS运行环境

第二步：启动iOS服务

第三步：连接手机USB启动MR，配置iOS驱动设置之后开始录制


6.9 MR使用时报-24的错 - MobileRunner帮助文档

6.9 MR使用时报-24的错

解答：MR连不上服务器，首先看一下能不能联网，再查看服务器的licence server有没有启动，如果已经启动了的话，查看一下服务器的licence有没有过期，然后再查看MR设置里面的网络许可模式有没有正确配置。


6.10 MR使用时报出-30的错误 - MobileRunner帮助文档

6.10 MR使用时报出-30的错误

解答：使用的是网络版的MR，账号过期，和工作人员联系延长使用时间。


6.11 MR使用时报出-13的错误 - MobileRunner帮助文档

6.11 MR使用时报出-13的错误

解答：使用的MR账号过期，和工作人员联系延长使用时间。