DroidPilot Designer是Android 应用自动化测试的脚本设计器,也是逐渐趋向于专业化的脚本编缉器,采用的是关键字(KeyWord driven)驱动的的测试方法,通过方便的选取应用上Active对象,只要清楚知道该应用的业务逻辑,使用步骤的工程师都可以轻松方便的使用,通过双击选择对象,选择预先定义好的需要模拟的对对象的动作(Click, long touch. settext...),非常方便快速的完成大部分的测试脚本自动生成。对于自动化测试工程师来说,也充分考虑到了工程师能快速的学习一种脚本语言,沿用了简单易用的VB Script的脚本,在PC端使用过用此测试脚本的测试工具的均可以快速熟悉使用。以下对DroidPilot designer支持的测试脚本语法做一详细使用解释,熟悉的工程师仍然可以使用脚本编辑器的助写功能快速的编写自己的测试脚本,本贴内容后续将根据版本升级将持续更新,敬请关注。

1.        条件语句,用于判断以及分支操作
If ..Then..[ElseIf]..[Else]..End If
条件判断语句,用于判断对象的属性,可以通过在编辑器中点鼠标右键在下拉的菜单中选择插入“If ..Then ..[ElseIf]..[Else]..End If“
脚本样例:
If Window("MainActivity-3").TextView("list_content_title").GetROProperty("Text")="共[count]张名片" Then
Reporter.ReportEvent micPass,"The count is correct","This message is user defined"     //在测试报告里的提示,如果判断相同说明统计是正确的
Else
Reporter.ReportEvent micFail,"The count is incorrect","This message is user defined" //否则出统计是错误的提示
End If
2.     GetROProperty方法:获取当前对象的某一个属性值,一般用于条件语句内
3.      Reporter.ReportEvent:在Test Report内打印正确和错误记录
    打印正确报告Reporter.ReportEventmicPass,String1,String2
打印错误报告Reporter.ReportEvent micFail,String1,String2
4.     标准检查点:用于检查PlayBack过程中某个对象的属性值是否与预期的属性值一样,运行后会在Test Report中记录结果
Window().Button().checkPoint=<(PropertyName1,ExpectedValue); (PropertyName2, ExpectedValue)>
脚本样例:
Window("MultiGroup").Button("android.widget.Button@2b17e270").checkPoint=<(isEnabled,false)>
5.      数据库检查点:通过连接数据库,利用SQL查询语句用来检查一些业务数据的正确性,一般将返回值用在条件语句内
database(dbPath="?",pkgName="?",dbName="?",sql="?",args="?",return="?")依次输入数据库在移动应用中的路径,包名,数据库名,sql语句,参数,返回的列名
ScriptExample:
database(dbPath="mnt/sdcard/AppFiles/com.ebensz.cardname/card.db",pkgName="com.ebensz.cardname",dbName="card.db",sql="Selectcount(*) as countname From cards",args="",return="countname")
//返回cards这个表的总数量。返回的值可以用[]括起来当成字符串用
If "总共[countname]张名片"
=Window("FamilyName2").TextView("android.widget.TextView@2b12b530").GetROProperty("Text")Then
Reporter.ReportEvent micPass,"SearchRecords","Search by'A' correctly"
Else
  Reporter.ReportEventmicFail,"SearchRecords","Search by 'A' Incorrectly"
End If
当数据库查询有多个参数时,格式如下:
database(dbPath="mnt/sdcard/AppFiles/com.ebensz.cardname/card.db",pkgName="com.ebensz.cardname",dbName="card.db",sql="Selectname as countname From cards Where head like '%杨%' or spell like '%Y%'",args="",return="countname")
或是:
database(dbPath="mnt/sdcard/AppFiles/com.ebensz.cardname/card.db",pkgName="com.ebensz.cardname",dbName="card.db",sql="Selectname as countname From cards Where head like ? or speel like?",args="%杨%/%Y%",return="countname")
6.        sleep(microsecond)方法
ScriptExample:
sleep(3000)//休眠3秒
7.     Exist 方法:判断某个Object在操作到的当前页面是否存在,一般用于条件语句中
ScriptExample:
IfWindow("FamilyNames").TextView("android.widget.TextView@2b129650").Exist=trueThen
  Reporter.ReportEvent micPass,"getresult","successfully"
Else
  Reporter.ReportEvent micFail,"getresult","Fail"
End If

转载于:https://www.cnblogs.com/anthonywsy/p/DroidPilot-Quickstart-Script1.html

DroidPilot 测试脚本详解 (一)相关推荐

  1. shell脚本详解(二)——条件测试、if语句和case分支语句

    shell脚本详解(二)--条件测试.if语句和case分支语句 一.条件测试 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if条件语句 1.单分支 2.双分支 ...

  2. shell脚本详解(十二)——Here Document免交互及Expect自动化交互

    shell脚本详解(十二)--Here Document免交互及Expect自动化交互 一.Here Document 免交互 1.格式 2.注意事项 3.免交互方式实现对行数的统计,将要统计的内容置 ...

  3. shell脚本详解(四)——循环语句之while循环和until循环(附加例题及解析)

    shell脚本详解(四)--循环语句之while循环和until循环 一.until循环 1.循环结构 2.例题 二.while循环 1.循环结构 2.例题(每个人的思路不同,会导致脚本内容不一样,这 ...

  4. sshd系统自带启动脚本详解

    SSH 为 Secure Shell 的缩写.sshd服务是linux系统中最经常使用的服务之一.由于其规避了明文传送口令.内容本文及中间人***的安全隐患,因此经常作为远程管理系统的首选方案.虽然各 ...

  5. shell脚本详解(十)——sed编辑器的使用方法

    shell脚本详解(十)--sed编辑器的使用方法 一.sed编辑器 二.sed编辑器工作流程 1.读取: 2.执行: 3.显示: 4.注: 三.命令格式 四.常用选项 五.常用操作 六.使用地址 s ...

  6. shell脚本详解(九)——一键部署DNS正向解析

    shell脚本详解(九)--一键部署DNS正向解析 一.DNS正向解析 二.shell脚本一键部署 一.DNS正向解析 详情请点击:DNS正向解析 二.shell脚本一键部署 #!/bin/bash ...

  7. shell脚本详解(七)——正则表达式、sort、uniq、tr

    shell脚本详解(七)--正则表达式.sort.uniq.tr 一.排序命令--sort 1.格式 2.常用选项 3.示例 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三. ...

  8. shell脚本详解(六)——数组简介和排序算法

    shell脚本详解(六)--数组简介和排序算法 一.数组 1.数组的定义方法 ①.方式一: ②.方式二: ③.方式三: ④.方式四: 2.数组包括的数据类型 3.获取数组长度 4.获取数据列表 5.读 ...

  9. shell脚本详解(三)——循环语句之for循环

    shell脚本详解(三)--循环语句之for循环 一.echo命令 – 输出字符串或提取Shell变量的值 1.格式 2.常用参数 3.示例 二.for循环语句 1.for循环结构 2.例题 ①.例题 ...

最新文章

  1. 如何提升科研能力?以下这点最重要!
  2. Java控制语句——for循环
  3. 技术领导力实战笔记一
  4. linux centos7 安装redis
  5. spring学习(25):通过构造函数依赖注入
  6. Python集合(set)类型的操作
  7. getallheaders函数在服务器报500错误_C语言服务器编程必备常识
  8. 算法笔记_面试题_16. 二叉树相关_模板及示例十几道
  9. 使用 SDK (Nodejs)操作阿里 OSS (对象存储服务)学习笔记
  10. 利用电影直播赚钱的方法(几乎零成本、很多人不知道)
  11. matlab中global
  12. 【Latex学习】Latex中插入超链接/网址
  13. 用计算机最炫民族风乐谱,最炫民族风乐谱及歌词
  14. 数据分析 | 全距和四分位距分别是什么
  15. 如何完整保存离线网页
  16. PacBio和NanoPore两种三代测序仪的比较
  17. 语音识别——麦克风选型
  18. python如何连接创建我的世界_我的Python世界 玩《Minecraft我的世界》学Python编程...
  19. 如何学习——让你的学习高效率
  20. 【postman进阶之路】

热门文章

  1. *:学习心得——C语言----S1T62班 王作舟
  2. 树型目录菜单,菜单图标不是图片,是字体
  3. 业务逻辑写在存储过程好还是后端好_后端两小时,前端一星期!你只是一个写接口的工程师吗?...
  4. 写入访问权限冲突_全面介绍 Linux 权限
  5. react native release语法问题解决
  6. android Mac OS X 中 VT/NX
  7. Xamarin.FormsShell基础教程(2)创建Shell解决方案
  8. Windows自带Android模拟器启动失败
  9. Unity 游戏开发技巧集锦之创建透明的材质
  10. ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge