zoukankan      html  css  js  c++  java
  • Robot Framework 教程 (3)

    From:http://www.cnblogs.com/buaawp/p/4754399.html

    Robot Framework 教程 (3) - Resource及关键字 的使用

    在进行软件自动化测试时,我们设计并编写好一个测试脚本的业务逻辑之后,需要将其中的业务数据提取为变量,并对业务逻辑进行封装。在后续的测试过程中,只需设置每次测试的测试数据,而不必更改业务逻辑。

    举个例子,我们对baidu搜索进行兼容性测试时,我们的业务逻辑是

    [打开浏览器] - [输入搜索内容] - [点击搜索按钮] - [截图保存] - [关闭浏览器]

    而对应的业务数据,就是我们所输入的“搜索内容”。

    在后续的测试中,我们应该将这一逻辑封装为一个关键字(这里可以理解为一个自定义函数,并将搜索内容作为输入变量)。每次测试时,只需要改变“搜索内容”这一变量即可。

    1.建立资源

    在导航树中的项目节点点击鼠标右键,选择【New Resource】,打开新建Resource的对话框,填写Resource名称“业务关键字”

    2.建立关键字

    在刚刚建立的【业务关键字】节点点击右键,选择【New User Keyword】,建立新关键字“百度搜索”

    3.为关键字添加变量

    点击【百度搜索】节点,展开编辑面板的【Settings】配置,点击Arguments的【edit】按钮,添加变量

    按照使用说明,这里的变量使用 ${key} 的格式,多个变量之间使用 | 进行分割。这里我们演示一下多变量。使用${searchword}|${result}

    4.为关键字设置业务逻辑
    需要注意一下的是,这里的关键字可以理解为一个“函数”的概念,我们需要在TestCase中调用的是这个“关键字”。我们刚刚添加的变量是“关键字”的一部分,在TestCase中体现为具体的业务数据。

    作为一个“函数”,除了变量外,我们还需要为之编写业务逻辑:

    对应的脚本为

    复制代码
        Open Browser    https://www.baidu.com/    ff
        Input Text    id=kw    ${keyword}
        Click button    id=su
        Sleep    2
        ${title}    Get Title
        Should Contain    ${title}    ${result}
        Capture Page Screenshot    ff.png
        Close Browser
    复制代码

    其中${searchword}和${result}表示我们的关键字在被TestCase调用时,传入的数据。而${title}则是作为一个中间过程的临时变量进行使用。

    5.为TestSuite添加Resource

    与Library类似,在Resource编写完成自后,需要在TestSuite进行 一下引用。

    6.编写TestCase

    设置完Resource之后,添加一个TestCase,并在其中使用我们刚刚定义的关键字

    7.运行测试,获取测试结果

    总结:

    RobotFrame Work 中的Resource 及关键字给我们提供的是一种类似于“函数”概念的用户自定义机制。我们可以将一些通用的业务过程封装为一个关键字,并声明业务中的业务数据。在编写测试用例时,直接调用关键字,设置业务数据即可。而一旦业务过程发生变化,或元素定位发生变化,我们只需要更改关键字中的业务逻辑即可,而不必更改每个测试用例。

    在使用过程中,有些验证逻辑我们可能无法仅仅通过RobotFrame Work 的内置函数或自定义关键字来实现,这个时候需要我们自己编写外部函数来进行验证,也就是需要自定义外部的Library。下一篇文章,我们将会对用户自定义Library进行介绍。

  • 相关阅读:
    Superset 制作图表
    superset 安装配置
    python 虚拟环境 pyenv
    pymysql 单独获取表的栏位名称
    pymysql 返回数据为字典形式(key:value--列:值)
    Oracle/MySQL decimal/int/number 转字符串
    netstat 问题处理
    MySQL 中Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化
    MySQL执行计划extra中的using index 和 using where using index 的区别
    ref与out
  • 原文地址:https://www.cnblogs.com/keepSmile/p/7975992.html
Copyright © 2011-2022 走看看