在OpenTest 之 运行环境准备中介绍了运行自动化测试需要做的一些准备工作,本篇将继续给大家介绍OpenTest的脚本语法以及使用方法,通过学习后读者应该能够开始动手编写UI自动化测试脚本了。
关键字驱动测试
在学习语法之前,需要了解一下关键字驱动测试方法的基本概念,这样有利于我们了解OpenTest语法的基本组成。
关键字驱动测试是数据驱动测试的一种改进类型,主要关键字包括三类:
- 被操作对象(Item)
- 操作(Operation)
- 值(value)
OpenTest就是采用关键字的形式将测试逻辑封装在数据文件中,测试框架只要能够解释这些关键字即可对其应用自动化,下面介绍一下OpenTest的语法。
用例示例
- 新增部门, 编码:Test 名称:自动化测试
- 选择前两行和【一审人员】
- 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
- 选择数据权限页签,添加PBS业务对象,设置可读表达式为 1=1
- 保存
- 删除当前新增记录
脚本示例
# To change this template, choose Tools | Templates
# and open the template in the editor.
require "inc.rb"
#require "TestCase/run_app.rb"
打开模块 "部门管理"
# 1 新增部门, 编码:Test 名称:自动化测试
添加
文本编辑框("编码").输入("Test")
文本编辑框("名称").输入("自动化测试")
# 2 选择系统管理员再加任意几个岗位后
按钮("岗位.选择岗位").弹出窗口("选择岗位管理")
列表.选择行("一审人员")
按住Ctrl
列表.选择行(0)
列表.选择行(1)
释放Ctrl
关闭窗口(:确认)
# 3 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
列表("岗位.岗位").选择行("一审人员")
页签("岗位.功能权限").选择
列表("岗位.功能权限.业务对象.业务对象").选择行("部门管理")
列表("岗位.功能权限.功能权限").分组("部门管理").单元格("全部展开", "选择").去除勾选
列表("岗位.功能权限.功能权限").分组("部门管理").单元格("全部折叠", "选择").去除勾选
# 4 选择数据权限页签,添加[PBS]业务对象,设置可读表达式为 1=1
列表("岗位.岗位").选择行("一审人员")
页签("岗位.数据权限").选择
按钮("岗位.数据权限.选择对象").弹出窗口("选择数据权限作用的对象")
列表.选择行("PBS")
关闭窗口(:确认)
列表("岗位.数据权限.数据权限").单元格("PBS模板,PBS", "可读表达式").输入("1=1")
# 5 保存
保存
# 6 删除此用例新增记录
树形列表("部门管理").选择行("自动化测试")
删除
语法
OpenTest采用了关键字测试驱动方法,它的常用语法也很简单,形式为:对象(参数).操作(值),语法如下:
对象 | 参数 | 操作 | 值 | 说明 | 示例 | 子对象 | 支持 |
按钮 | <标题> | 弹出窗口 | <窗口标题> | 标题为按钮上的文本内容 | 按钮("岗位.选择岗位").弹出窗口("选择岗位管理") | ● | |
点击 | ● | ||||||
列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 列表.选择行("一审人员") | 单元格(列) | ● |
<行号> | 行号从0开始 | 列表.选择行(0) | 分组 | ● | |||
分组 | <标题> | 根据标题获取列表的一个分组 | 列表("岗位.功能权限.功能权限").分组("部门管理") | 单元格(行,列) | ● | ||
树形列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 树形列表("部门管理").选择行("自动化测试") | 单元格(列) | ● |
单元格 | <[行号,行标题], [列号,列标题]> | 输入 | <输入值> | 作为列表、树形列表和分组的子对象 | 列表("岗位.数据权限.数据权限").单元格("PBS模板,PBS", "可读表达式").输入("1=1") | ● | |
<[列号,列标题]> | 作为行的子对象 | ||||||
文本编辑框 | <标题> | 输入 | <值> | 文本编辑框("编码").输入("Test") | ● | ||
下拉列表 | <标题> | 下拉选择 | <名称> | 下拉列表("项目信息").下拉选择("江南四期1、4区项目") | ● | ||
下拉树形列表 | <标题> | 下拉选择 | <名称串> | 下拉树形列表("合同科目").下拉选择("建安工程类合同->建安工程和总包管理配合服务") | ○ | ||
页签 | <标题> | 最大化 | |||||
打开模块 | <模块标题> | 打开模块 "部门管理" | ● | ||||
添加 | ● | ||||||
保存 | ● | ||||||
删除 | ● | ||||||
关闭窗口 | [:确认,:取消,] | ● | |||||
按住Ctrl | ● | ||||||
释放Ctrl | ● | ||||||
标题样式为: 页签名称.[页签名称.]对象标题 | |||||||
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]
序号 | 对象 | 参数 | 操作 | 值 | 说明 | 示例 | 子对象 | 支持 |
1 | 按钮 | <标题> | 弹出窗口 | <窗口标题>:弹出窗口的名称 | 标题为按钮上的文本内容 | 按钮("岗位.选择岗位").弹出窗口("选择岗位管理") | ● | |
点击 | ● | |||||||
2 | 列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 列表.选择行("一审人员") | 单元格(列) | ● |
<行号> | 行号从0开始 | 列表.选择行(0) | 分组 | ● | ||||
3 | 分组 | <标题> | 根据标题获取列表的一个分组 | 列表("岗位.功能权限.功能权限").分组("部门管理") | 单元格(行,列) | ● | ||
4 | 树形列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 树形列表("部门管理").选择行("自动化测试") | 单元格(列) | ● |
5 | 单元格 | <[行号,行标题], [列号,列标题]> | 输入 | <输入值> | 作为列表、树形列表和分组的子对象 | 列表("岗位.数据权限.数据权限").单元格("PBS模板,PBS", "可读表达式").输入("1=1") | ● | |
<[列号,列标题]> | 作为行的子对象 | |||||||
6 | 文本编辑框 | <标题> | 输入 | <值> | 文本编辑框("编码").输入("Test") | ● | ||
7 | 下拉列表 | <标题> | 下拉选择 | <名称> | 下拉列表("项目信息").下拉选择("江南四期1、4区项目") | ● | ||
8 | 下拉树形列表 | <标题> | 下拉选择 | <名称串> | 下拉树形列表("合同科目").下拉选择("建安工程类合同->建安工程和总包管理配合服务") | ○ | ||
9 | 页签 | <标题> | 最大化 | |||||
打开模块 | <模块标题> | 打开模块 "部门管理" | ● | |||||
添加 | ● | |||||||
保存 | ● | |||||||
删除 | ● | |||||||
关闭窗口 | [:确认,:取消,] | ● | ||||||
按住Ctrl | ● | |||||||
释放Ctrl | ● | |||||||
标题样式为: 页签名称.[页签名称.]对象标题 | ||||||||