信息系统开发平台OpenExpressApp:【OpenTest】 之 语法及其使用介绍
在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.
|
03
|
require "inc.rb"
|
04
|
#require "TestCase/run_app.rb"
|
05
|
|
06
|
打开模块 "部门管理"
|
07
|
|
08
|
# 1 新增部门, 编码:Test 名称:自动化测试
|
09
|
添加
|
10
|
文本编辑框( "编码" ).输入( "Test" )
|
11
|
文本编辑框( "名称" ).输入( "自动化测试" )
|
12
|
|
13
|
# 2 选择系统管理员再加任意几个岗位后
|
14
|
按钮( "岗位.选择岗位" ).弹出窗口( "选择岗位管理" )
|
15
|
列表.选择行( "一审人员" )
|
16
|
按住Ctrl
|
17
|
列表.选择行( 0 )
|
18
|
列表.选择行( 1 )
|
19
|
释放Ctrl
|
20
|
关闭窗口(:确认)
|
21
|
|
22
|
# 3 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
|
23
|
列表( "岗位.岗位" ).选择行( "一审人员" )
|
24
|
页签( "岗位.功能权限" ).选择
|
25
|
列表( "岗位.功能权限.业务对象.业务对象" ).选择行( "部门管理" )
|
26
|
列表( "岗位.功能权限.功能权限" ).分组( "部门管理" ).单元格( "全部展开" , "选择" ).去除勾选
|
27
|
列表( "岗位.功能权限.功能权限" ).分组( "部门管理" ).单元格( "全部折叠" , "选择" ).去除勾选
|
28
|
|
29
|
# 4 选择数据权限页签,添加[PBS]业务对象,设置可读表达式为 1=1
|
30
|
列表( "岗位.岗位" ).选择行( "一审人员" )
|
31
|
|
32
|
页签( "岗位.数据权限" ).选择
|
33
|
按钮( "岗位.数据权限.选择对象" ).弹出窗口( "选择数据权限作用的对象" )
|
34
|
列表.选择行( "PBS" )
|
35
|
关闭窗口(:确认)
|
36
|
列表( "岗位.数据权限.数据权限" ).单元格( "PBS模板,PBS" , "可读表达式" ).输入( "1=1" )
|
37
|
|
38
|
# 5 保存
|
39
|
保存
|
40
|
|
41
|
# 6 删除此用例新增记录
|
42
|
树形列表( "部门管理" ).选择行( "自动化测试" )
|
43
|
删除
|
语法
OpenTest采用了关键字测试驱动方法,它的常用语法也很简单,形式为:对象(参数).操作(值),语法如下:
对象 | 参数 | 操作 | 值 | 说明 | 示例 | 子对象 | 支持 |
按钮 | <标题> | 弹出窗口 | <窗口标题> | 标题为按钮上的文本内容 | 按钮("岗位.选择岗位").弹出窗口("选择岗位管理") | ● | |
点击 | ● | ||||||
列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 列表.选择行("一审人员") | 单元格(列) | ● |
<行号> | 行号从0开始 | 列表.选择行(0) | 分组 | ● | |||
分组 | <标题> | 根据标题获取列表的一个分组 | 列表("岗位.功能权限.功能权限").分组("部门管理") | 单元格(行,列) | ● | ||
树形列表 | <标题> | 选择行 | <名称> | 标题为列表所在页签的标题,如果窗体只有一个列表,可以不加参数 | 树形列表("部门管理").选择行("自动化测试") | 单元格(列) | ● |
单元格 | <[行号,行标题], [列号,列标题]> | 输入 | <输入值> | 作为列表、树形列表和分组的子对象 | 列表("岗位.数据权限.数据权限").单元格("PBS模板,PBS", "可读表达式").输入("1=1") | ● | |
<[列号,列标题]> | 作为行的子对象 | ||||||
文本编辑框 | <标题> | 输入 | <值> | 文本编辑框("编码").输入("Test") | ● | ||
下拉列表 | <标题> | 下拉选择 | <名称> | 下拉列表("项目信息").下拉选择("江南四期1、4区项目") | ● | ||
下拉树形列表 | <标题> | 下拉选择 | <名称串> | 下拉树形列表("合同科目").下拉选择("建安工程类合同->建安工程和总包管理配合服务") | ○ | ||
页签 | <标题> | 最大化 | |||||
打开模块 | <模块标题> | 打开模块 "部门管理" | ● | ||||
添加 | ● | ||||||
保存 | ● | ||||||
删除 | ● | ||||||
关闭窗口 | [:确认,:取消,] | ● | |||||
按住Ctrl | ● | ||||||
释放Ctrl | ● | ||||||
标题样式为: 页签名称.[页签名称.]对象标题 |
|||||||
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518551,如需转载请自行联系原作者
信息系统开发平台OpenExpressApp:【OpenTest】 之 语法及其使用介绍相关推荐
- 信息系统开发平台OpenExpressApp - 数据权限
功能权限一般放在一般是放在MVC的controller层,在<信息系统开发平台OpenExpressApp - 功能权限>介绍了OEA基本的功能权限,我们是通过统一配置的.作为数据应用产品 ...
- 信息系统开发平台OpenExpressApp - 功能权限
在<信息系统开发平台OpenExpressApp - 用户权限模块设计>中对RBAC以及在OEA中的涉及进行了简要介绍,上篇<信息系统开发平台OpenExpressApp - 用户管 ...
- 信息系统开发平台OpenExpressApp - 应用模型ApplicationModel
下图为OpenExpressApp的系统架构图,其中在应用模型是作为一种元数据贯穿于整个架构,应用模型运行在OpenExpressApp框架之上.应用模型是OEA的核心,理解好应用模型才能更好的使用O ...
- 信息系统开发平台OpenExpressApp -如何部署OEA应用
BloodyAngel 把智能部署写的比较清楚了<信息系统开发平台OpenExpressApp - ClickOnce智能部署>,我在这里再进行一些补充. 如果用过OpenExpressA ...
- 信息系统开发平台OpenExpressApp - 支持日志功能
一般信息系统都有审计功能,现在给OpenExpressApp增加简单的日志功能,主要就是记录用户的一些操作(如登录.打开模块.查看数据.点击按钮等)或者系统操作时的一些信息收集(比如保存错误等).为了 ...
- 信息系统开发平台OpenExpressApp - ClickOnce智能部署
这里讲的是OpenExpressApp的部署方案.主要使用的是ClickOnce作为实施方案来实现:智能部署和智能客户端.不过,这里的使用方式跟以往的不太一样-- 部署概述 OpenExpressAp ...
- 信息系统开发平台OpenExpressApp:【OpenTest】 之 如何实现自动化测试框架
本文更新版本已挪至 http://www.zhoujingen.cn/blog/4549.html ------------------------------- 在OpenExprssApp的R ...
- 开源信息系统开发平台之OpenExpressApp框架 1.1 春节飞虎版发布
自 信息系统开发平台openexpressapp 1.0发布后到现在有4个月了,中间陆续发布了一些内容介绍的blog. OpenExpressApp不会带给大家创新性的技术,而是以务实的态度,将现有技 ...
- OpenExpressApp架构-信息系统开发平台
本文已挪至 http://www.zhoujingen.cn/blog/1458.html 软件=商业+架构+过程+组织,前一阵子谈论的Scrum更多包含的是过程和组织,这篇主要关注的是架构. 作 ...
最新文章
- 牛X,试用了下 GitHub 上 2 万 Star 的第一抢票神器,3 秒钟抢到!
- 二分查找与二叉排序树
- java怎么自动提示关键词_Eclipse 实现关键字自动补全功能
- 跳转Activity闪退
- 3、Python 基础类型 -- List 列表类型
- [respberry pi3][suse] 配置docker
- python人人语音爬虫(登陆尚未完成,需要使用先登录在查cookie中的t)
- TX2Ubuntu16.04上安装 kinectV2
- 软考高级系统分析师上午历年真题
- java集合大家族之Map
- SQL 增删改查语句
- 大数据Spark “蘑菇云”行动第105课:Hive源码大师之路第三步:Hive序列化与反序列原理内幕和源码解析
- UberAir飞行汽车:一键乘坐飞机会变成现实吗
- DS1302的电子万年历_51单片机,年月日、星期、时分秒、农历和温度,带闹钟,全套资料
- win10 ipv4无网络连接
- 《宣州谢眺楼饯别校书叔云》赏析
- 如何选择适合自己的研究方法?定性vs定量vs混合方法研究
- html,bootstrap,js,jquery图片点击模态窗口放大图片,可以滚动常看长图
- 我平时总结的几个Python编程小技巧
- 椭圆 标准方程 离心率 圆的标准方程
热门文章
- php ldap 模块,不重新编译为PHP增加LDAP模块的支持
- linux磁盘资源,liunxCPU和内存,磁盘等资源,
- html5怎么改为vue_Vue实战——编程式导航打开新窗口,登录状态本地存储
- 去除标题_你真的会写标题吗?企优托教您打造黄金标题离不开这三步
- mysql表添加完整性约束_SQL语句——完整性约束
- win7一直显示正在启动_win7系统中提高启动速度并且禁用某些软件启动的操作小技巧...
- docker公共存储库_Docker Hub公共镜像仓库的使用
- 大学期末考java编程题_大学java期末考试考试题和答案
- ecshop category.php?id=4,categoryall.php
- etl工程师 面试题_数据仓库工程师面试题笔试.doc