• 信息系统开发平台OpenExpressApp:【OpenTest】 之 语法及其使用介绍


      在OpenTest 之 运行环境准备中介绍了运行自动化测试需要做的一些准备工作,本篇将继续给大家介绍OpenTest的脚本语法以及使用方法,通过学习后读者应该能够开始动手编写UI自动化测试脚本了。

    关键字驱动测试

      在学习语法之前,需要了解一下关键字驱动测试方法的基本概念,这样有利于我们了解OpenTest语法的基本组成。

      关键字驱动测试是数据驱动测试的一种改进类型,主要关键字包括三类:

    1. 被操作对象(Item)
    2. 操作(Operation)
    3. 值(value)

      OpenTest就是采用关键字的形式将测试逻辑封装在数据文件中,测试框架只要能够解释这些关键字即可对其应用自动化,下面介绍一下OpenTest的语法。

    用例示例

    1. 新增部门, 编码:Test  名称:自动化测试
    2. 选择前两行和【一审人员】
    3. 选中一审人员,设置部门管理的功能权限,取消部门管理下的全部展开和全部折叠功能
    4. 选择数据权限页签,添加PBS业务对象,设置可读表达式为 1=1
    5. 保存
    6. 删除当前新增记录

    脚本示例

    # 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
    标题样式为:
    页签名称.[页签名称.]对象标题









  • 相关阅读:
    SpringBoot之采用AOP统一打印日志信息
    SpringBoot之SpringBoot整合log4j
    SpringBoot之SpringBoot整合logback
    SpringBoot之SpringBoot整合多环境不同配置文件
    SpringBoot之SpringBoot整合devtools热部署
    [bug] Flask:jinja2.exceptions.UndefinedError: 'None' has no attribute 'id'
    [bug] Python:“TabError: inconsistent use of tabs and spaces in indentation”
    [bug] MySQL 无法删除表
    [bug] Flask css 不更新
    [bug] flink on yarn 启动失败
  • 原文地址:https://www.cnblogs.com/zhoujg/p/1771162.html
Copyright © 2020-2023  润新知