• RobotFramework自动化测试框架系统关键字之断言


    一、基础

            RobotFramework带有丰富的系统关键,使用时无需导入,直接使用,为写自动化用例带来了极大的方便;不能停留在知道或者是会得程度,只有熟练使用各关键字,才能提升自动化用例的写作效率。下面将逐个举例介绍RobotFramework提供的断言关键字。

    二、实例

            为方便讲解,首先创建三个list变量:list_a、list_b、list_c;以及两个scalar变量:string和name。

    @{list_a}    create list    1    a    ${21}    21    12
    @{list_b}    set variable    1.0    a    ${21}    21    21
    @{list_c}    create list                    
    ${string}    set variable    pengliwen is in hangzhou                
    ${name}    set variable    plw 

                

    备注:以下提供的用例都是断言成功。

    01、should contain 、 should not contain 与should contain x times

    should contain    ${list_b}    1.0    
    should not contain    ${list_b}    1    
    should contain x times    ${list_b}    21    2

    说明:变量${list_b}包含对象1.0而不包含对象1,且对象21在变量${list_b}出现了两次。

         

    02、should be empty 与 should not be empty

    should be empty    ${list_c}
    should not be empty    ${list_a}

    说明:变量${list_c}没有赋值,所以为空;相反,变量${list_a}有赋初始值,故为非空。

     

    03、should be equal 与 should not be equal

    should be equal    ${list_a[1]}    ${list_b[1]}
    should not be equal    ${list_a}    ${list_b}

    说明:${list_a[1]}=a${list_b[1]}=a故两个对象相等;而${list_a}和${list_b}有元素不一致,这两个对象不相等。

     

    04、Should Be Equal As Numbers  Should not Be Equal As Numbers

    Should Be Equal As Numbers    ${list_b[0]}    1.0000
    Should not Be Equal As Numbers    ${list_b[0]}    1.1

    说明:${list_b[0]}=1,忽略精度,故与1.0000相等;而即使是忽略精度,1与1.1还是不相等的;

     

    05、Should Be Equal As IntegersShould not Be Equal As Integers

    Should Be Equal As Integers    ${list_a[3]}    ${list_b[3]}
    Should not Be Equal As Integers    ${list_a[4]}    ${list_b[4]}

    说明:${list_a[3]}=21,${list_b[3]}=21,而系统默认为字符串格式的“21”,故需要转化为整数类型,转化为整数后两个对象相等;

    ${list_a[4]}=12,${list_b[4]}=21,即使转化为整数后两个对象依旧是不相等;

    06、Should Be Equal As StringsShould not Be Equal As Strings

    Should Be Equal As Strings    ${list_a[2]}    ${list_b[2]}
    Should not Be Equal As Strings    ${list_a[0]}    ${list_b[0]}

    说明:${list_a[2]}=${21},${list_b[2]}=${21},而均为数值型的21,故需要转化为字符串类型,转化为字符串后两个对象相等;

    07、Should Be TrueShould not Be True

    Should Be True    ${list_a[0]} < 10
    Should not Be True    ${list_a[0]} < 1

    说明:${list_a[0]}=1(字符串类型),其ASCII值比字符串10的ASCII值小;

    08、Should start WithShould not start With 
    Should start With    ${string}    peng
    Should not start With    ${string}    h

    说明:${string}=”pengliwen is in hangzhou“是以peng开头,而非以h开头;

    09、Should End WithShould not End With

    Should End With    ${string}    hangzhou
    Should not End With    ${string}    pengliwen

    说明:${string}=”pengliwen is in hangzhou“是以hangzhou结尾,而非以pengliwen结尾

    10、should matchshould not match

    should match    ${name}    p??
    should not match    ${string}    h?*

    说明:模式匹配和shell中的通配符类似,它区分大小写,'*'匹配0~无穷多个字符,单个字符

    ${name}=plw,由以p开头的三个字母组成

     

    11、Should Match RegexpShould not Match Regexp

    Should Match Regexp    ${name}    ^\w{3}$
    Should not Match Regexp    ${name}    ^\d{3}$

    说明:反斜杠在测试数据是转义字符,因此模式中要使用双重转义;'^''$'字符可以用来表示字符串的开头和结尾

    ${name}=plw,是有三个字母--w{3}组成,而不是由三个数字--d{3}组成。

  • 相关阅读:
    一个例子帮助理解正则表达式
    requestAnimationFrame兼容性扩展
    检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
    手把手教你如何安装和使用Karma-Jasmine
    cesium随笔 — 隐藏三维场景下方版权信息
    cesium随笔 — 获取当前鼠标的经度、纬度、高度
    Cesium Language (CZML) 入门2 — CZML Content(CZML的内容)
    html初识
    MySQL终章
    MySQL表与表之间的关系详解
  • 原文地址:https://www.cnblogs.com/lgqboke/p/7761989.html
Copyright © 2020-2023  润新知