信息系统开发平台OpenExpressApp:【OpenTest】 之 语法及其使用介绍
在OpenTest 之 运行环境准备中介绍了运行自动化测试需要做的一些准备工作,本篇将继续给大家介绍OpenTest的脚本语法以及使用方法,通过学习后读者应该能够开始动手编写UI自动化测试脚本了。
关键字驱动测试
在学习语法之前,需要了解一下关键字驱动测试方法的基本概念,这样有利于我们了解OpenTest语法的基本组成。
关键字驱动测试是数据驱动测试的一种改进类型,主要关键字包括三类:
- 被操作对象(Item)
- 操作(Operation)
- 值(value)
OpenTest就是采用关键字的形式将测试逻辑封装在数据文件中,测试框架只要能够解释这些关键字即可对其应用自动化,下面介绍一下OpenTest的语法。
用例示例
- 新增部门, 编码:Test 名称:自动化测试
- 选择前两行和【一审人员】
- 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
- 选择数据权限页签,添加PBS业务对象,设置可读表达式为 1=1
- 保存
- 删除当前新增记录
脚本示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # 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/ ]
标签:
OpenExpressApp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理