OneBlock [OneBlock] 动态参数和模块化

心向东 · 2016年09月20日 · 最后由 心向东 回复于 2016年10月24日 · 2093 次阅读

相关阅读
搭建 OneBlock 测试平台
使用 OneBlock 开展自动化测试
OneBlock-TestSpace 的定义

动态参数

所谓动态参数,就是在一个案例中每次执行需要改变的数据变量.我来用一个小例子来解释动态参数的作用
我们先创建一个登录脚本

这个登录脚本使用固定参数的话,明显复用度为 0,那么这时候则可以使用动态参数来定义某些属性值,比如 OneBlock 是这样定动态参数的:

将本来应该填写参数值的地方使用{参数名}的形势代替,就为这个案例定义了一个动态参数.这时候如果用户点击"保存并运行",那么系统会提示用户存在两个动态参数,并让用户进行输入:

这样我们的登录脚本就有个非常高的复用度了,只要每次执行使用不用的数据就能完成不同帐号的测试了

自动义模块

在测试过程中 我们的登录脚本肯定是被使用的最频繁的. 如果我们案例需要登录那么我们必须为每个案例添加登录操作的步骤,这样的化案例中就会存在很多重复的步骤.这时候就要使用自定义模块的概念了.
我们勾选刚才登录案例中的所有步骤,选择"组合"按钮:

这时候你会发现 OneBlock 除了让你填写组件的名称外,还会将你设置的动态参数当成自定义组件的属性.我们可以为这些属性设定一些默认值

创建好组件后,OneBlock 会自动打开组件的编辑页面,我们先不编辑,直接关闭掉这个 tab 页.

在登录案例中我们在右侧的组件选择栏中选择你的组件,你就能看到你刚才创建的组件了.

我们使用刚才创建的组件来代替之前的三个步骤,最后我们得到了一个业务模块案例,只暴露了"用户名"和"密码"两个参数,这样大大降低了案例的逻辑复杂度更利于理解和维护.

在添加登录组件时会自动带出刚才我们设置的默认值,而我们可以对自定义组件再次使用动态参数让这个脚本更灵活.

通过动态参数和自定义组件功能,最后我们得到了一个简洁的登录案例,并且这个案例可以在执行时变更测试数据.

关于执行

如果我们以这种模块化的案例执行时会发送给执行端什么样的案例呢?
点击"保存并执行",然后填写我们设定的动态参数,提交执行

我们可以捕获一下这个请求,最终 OneBlock 会将自定义模块组件展开获得最终的案例提交给执行层.

{
    "steps": [
        {
            "name": "EditStep",
            "describe": "输入帐号",
            "attrs": {
                "inputText": "monkey",
                "id": "username",
                "tagName": "input"
            }
        },
        {
            "name": "EditStep",
            "describe": "输入密码",
            "attrs": {
                "inputText": "123456",
                "id": "password",
                "tagName": "input"
            }
        },
        {
            "name": "ClickStep",
            "describe": "点击",
            "attrs": {
                "text": "登录"
            }
        }
    ]
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 0 条回复 时间 点赞
心向东 [该话题已被删除] 中提及了此贴 10月22日 00:20
心向东 [该话题已被删除] 中提及了此贴 10月24日 06:59
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册