在OpenTest 之 运行环境准备中介绍了运行自动化测试需要做的一些准备工作,本篇将继续给大家介绍OpenTest的脚本语法以及使用方法,通过学习后读者应该能够开始动手编写UI自动化测试脚本了。
关键字驱动测试
在学习语法之前,需要了解一下关键字驱动测试方法的基本概念,这样有利于我们了解OpenTest语法的基本组成。
关键字驱动测试是数据驱动测试的一种改进类型,主要关键字包括三类:
- 被操作对象(Item)
- 操作(Operation)
- 值(value)
OpenTest就是采用关键字的形式将测试逻辑封装在数据文件中,测试框架只要能够解释这些关键字即可对其应用自动化,下面介绍一下OpenTest的语法。
用例示例

- 新增部门, 编码:Test 名称:自动化测试
- 选择前两行和【一审人员】
- 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
- 选择数据权限页签,添加PBS业务对象,设置可读表达式为 1=1
- 保存
- 删除当前新增记录
脚本示例
01 |
# To change this template, choose Tools | Templates |
02 |
# and open the template in the editor. |
04 |
#require "TestCase/run_app.rb" |
08 |
# 1 新增部门, 编码:Test 名称:自动化测试 |
10 |
文本编辑框( "编码" ).输入( "Test" )
|
11 |
文本编辑框( "名称" ).输入( "自动化测试" )
|
14 |
按钮( "岗位.选择岗位" ).弹出窗口( "选择岗位管理" )
|
22 |
# 3 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能 |
23 |
列表( "岗位.岗位" ).选择行( "一审人员" )
|
25 |
列表( "岗位.功能权限.业务对象.业务对象" ).选择行( "部门管理" )
|
26 |
列表( "岗位.功能权限.功能权限" ).分组( "部门管理" ).单元格( "全部展开" , "选择" ).去除勾选
|
27 |
列表( "岗位.功能权限.功能权限" ).分组( "部门管理" ).单元格( "全部折叠" , "选择" ).去除勾选
|
29 |
# 4 选择数据权限页签,添加[PBS]业务对象,设置可读表达式为 1=1 |
30 |
列表( "岗位.岗位" ).选择行( "一审人员" )
|
33 |
按钮( "岗位.数据权限.选择对象" ).弹出窗口( "选择数据权限作用的对象" )
|
36 |
列表( "岗位.数据权限.数据权限" ).单元格( "PBS模板,PBS" , "可读表达式" ).输入( "1=1" )
|
42 |
树形列表( "部门管理" ).选择行( "自动化测试" )
|
语法
OpenTest采用了关键字测试驱动方法,它的常用语法也很简单,形式为:对象(参数).操作(值),语法如下:
对象 |
参数 |
操作 |
值 |
说明 |
示例 |
子对象 |
支持 |
按钮 |
<标题> |
弹出窗口 |
<窗口标题> |
标题为按钮上的文本内容 |
按钮("岗位.选择岗位").弹出窗口("选择岗位管理") |
|
● |
|
|
点击 |
|
|
|
|
● |
列表 |
<标题> |
选择行 |
<名称> |
标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 |
列表.选择行("一审人员") |
单元格(列) |
● |
|
|
|
<行号> |
行号从0开始 |
列表.选择行(0) |
分组 |
● |
分组 |
<标题> |
|
|
根据标题获取列表的一个分组 |
列表("岗位.功能权限.功能权限").分组("部门管理") |
单元格(行,列) |
● |
树形列表 |
<标题> |
选择行 |
<名称> |
标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 |
树形列表("部门管理").选择行("自动化测试") |
单元格(列) |
● |
单元格 |
<[行号,行标题], [列号,列标题]> |
输入 |
<输入值> |
作为列表、树形列表和分组的子对象 |
列表("岗位.数据权限.数据权限").单元格("PBS模板,PBS", "可读表达式").输入("1=1") |
|
● |
|
<[列号,列标题]> |
|
|
作为行的子对象 |
|
|
|
文本编辑框 |
<标题> |
输入 |
<值> |
|
文本编辑框("编码").输入("Test") |
|
● |
下拉列表 |
<标题> |
下拉选择 |
<名称> |
|
下拉列表("项目信息").下拉选择("江南四期1、4区项目") |
|
● |
下拉树形列表 |
<标题> |
下拉选择 |
<名称串> |
|
下拉树形列表("合同科目").下拉选择("建安工程类合同->建安工程和总包管理配合服务") |
|
○ |
页签 |
<标题> |
最大化 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
打开模块 |
<模块标题> |
|
打开模块 "部门管理" |
|
● |
|
|
添加 |
|
|
|
|
● |
|
|
保存 |
|
|
|
|
● |
|
|
删除 |
|
|
|
|
● |
|
|
关闭窗口 |
[:确认,:取消,] |
|
|
|
● |
|
|
按住Ctrl |
|
|
|
|
● |
|
|
释放Ctrl |
|
|
|
|
● |
|
标题样式为:
页签名称.[页签名称.]对象标题 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518551,如需转载请自行联系原作者