86.Robot Framework创建测试用例

转载请注明原始链接:https://blog.csdn.net/a464057216/article/details/104396440

后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
在这里插入图片描述

阅读本文前,请先阅读85.Robot Framework测试数据基本语法。本文介绍如何创建测试用例,创建测试套的方法在后面的88.Robot Framework创建测试套中介绍。使用Robot Framework框架进行自动化测试可以使用测试用例(Test case),进行一般化的自动化任务建议使用任务(Task)。任务的语法大部分与测试用例一致,差异部分在下一篇87.Robot Framework创建任务中介绍。

测试用例语法

基础语法

测试用例在测试用例表中定义,由关键字组成。关键字从测试库文件、资源文件中导入,或者在测试用例文件的关键字表(Keywords)中定义。

测试用例表的第一列是测试用例名。测试用例从包含测试用例名的行开始,直到下一个包含测试用例名的行或测试用例表结束。测试用例名不要包含通配符?*,它们通常用于选择执行部分测试用例,例如--test 'Example *'运行所有名字以Example开头的测试用例。测试用例表表头和第一个测试用例之间不能包含其他内容。

测试用例表的第二列通常是关键字。在利用关键字返回的值设置变量的场景,第二列及后续列可能是变量名,然后才是关键字。无论哪种情况,关键字后面的列通常包含关键字的参数。

测试用例示例:

*** Test Cases ***
Valid Login
    Open Login Page
    Input Username     demo
    Input Password     mode
    Submit Credentials
    Welcome Page Should Be Open
    
Setting Variables
    Do Something       first argument    second argument
    ${value} =    Get Some Value
    Should Be Equal    ${value}          Expected value

测试用例表中的设置

测试用例可以有自己的设置。设置名和关键字一样在第二列,设置的值在后续的列中。测试用例中的设置名用方括号包围以便和关键字区分。设置名列表如下:

  • [Documentation]:测试用例说明。
  • [Tags]:测试用例标签。
  • [Setup][Teardown]:测试用例的setup、teardown。
  • [Template]:指定使用的模板关键字,测试用例中只包含作为模板关键字的参数的数据。
  • [Timeout]:测试用例超时时间。

设置名大小写不敏感,允许设置名和方括号之间存在空格。

带设置的测试用例举例:

*** Test Cases ***
Test With Settings
    [Documentation]    Another dummy test
    [Tags]             dummy owner-lmz
    Log                Hello, world!

设置表(Settings)中与测试用例相关的设置

设置表中存在如下与测试用例相关的设置(注意没有方括号包围),对测试文件中所有测试用例都生效:

  • Force TagsDefault Tags:测试用例中配置项[Tags]的强制补充值和默认值。
  • Test SetupTest Teardown:测试用例中配置项[Setup][Teardown]的默认值。
  • Test Template:测试用例中默认使用的模板关键字。
  • Test Timeout:测试用例中配置项[Timeout]的默认值。

关键字的参数

关键字可以接收不同的参数,参数可以有默认值,这些都取决于关键字如何实现。关键字的文档中通常包含其参数的使用说明。Libtooljavadoc工具可以自动生成文档。

位置参数

位置参数在关键字文档中通过逗号分割的参数名区分,例如first, second, third。位置参数本身叫什么名字无所谓,重要的是参数的位置,但是参数名也最好能够解释位置参数的意义。使用关键字的时候,提供的参数个数要和关键字文档中说明的参数个数一致。

下面的例子中,使用OperatingSystem库中的Create DirectoryCopy File关键字,分别需要一个参数(path)和两个参数(sourcedestination)。Builtin库中的No Operation关键字不需要参数。

*** Test Cases ***
Example
    Create Directory    ${TEMPDIR}/stuff
    Copy File           ${CURDIR}/file.txt    ${TEMPDIR}/stuff
    No Operation

默认值

有默认值的参数,在关键字文档中参数名和默认值以=号分割,例如name=default value。有默认值的参数后面不能有位置参数。

下面的例子中,Create File关键字参数为path, content=, encoding=UTF-8

*** Test Cases ***
Example
    Create File    ${TEMPDIR}/empty.txt
    Create File    ${TEMPDIR}/utf-8.txt         Hyvä esimerkki
    Create File    ${TEMPDIR}/iso-8859-1.txt    Hyvä esimerkki    ISO-8859-1

Java中一个方法可以通过不同签名有多种实现,Robot Framework将这样的多种实现作为一个关键字。可以利用这个特性实现有默认值的参数,例如:

public void oneDefault(String arg) {
   
    System.out.println("Argument has value " 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设我们要对一个登录功能进行测试,可以将测试用例分为以下几个层次: 1. 功能测试层:测试登录功能的基本功能是否正常,例如输入正确的用户名和密码能否成功登录。 2. 边界测试层:测试输入不合法的用户名和密码时,系统是否能够正确地处理。 3. 异常测试层:测试当系统出现异常情况时,如网络故障或服务器崩溃时,系统是否能够正确地处理。 4. 性能测试层:测试在高并发情况下,系统的响应时间和处理能力是否正常。 以下是针对以上四个层次的测试用例示例: ### 功能测试层 | 测试步骤 | 预期结果 | | --- | --- | | 输入正确的用户名和密码,点击登录按钮 | 登录成功,跳转到首页 | | 输入错误的用户名和密码,点击登录按钮 | 提示用户名或密码错误 | ### 边界测试层 | 测试步骤 | 预期结果 | | --- | --- | | 输入过长的用户名和密码,点击登录按钮 | 提示输入过长 | | 输入空用户名和密码,点击登录按钮 | 提示不能为空 | ### 异常测试层 | 测试步骤 | 预期结果 | | --- | --- | | 模拟网络故障,输入正确的用户名和密码,点击登录按钮 | 提示网络连接失败 | | 模拟服务器崩溃,输入正确的用户名和密码,点击登录按钮 | 提示服务器错误 | ### 性能测试层 | 测试步骤 | 预期结果 | | --- | --- | | 使用多个账号同时登录,测试系统的响应时间和处理能力 | 系统能够正常处理并保持较好的响应速度 |

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值