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 Integers与Should 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 Strings与Should 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 True与Should 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 With与Should not start With 
Should start With    ${string}    peng
Should not start With    ${string}    h


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


09、Should End With与Should not End With

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


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


10、should match与 should not match

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

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

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

11、Should Match Regexp与Should not Match Regexp

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

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

${name}=plw,是有三个字母--w{3}组成,而不是由三个数字--d{3}组成。
--------------------- 
作者:piaobo1987 
来源:CSDN 
原文:https://blog.csdn.net/piaobo1987/article/details/26966255 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 fighter is in shenzhen ${name} set variable luruifeng 备注:以下提供的⽤例都是断⾔成功。 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 Integers与Should 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 Strings与Should 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,故需要转化为字符串类型,转化为字符串后两个对象相等;
Python是一种高级编程语言,它被广泛应用于各种领域,包括软件开发、数据分析和自动化测试等。在自动化测试领域,Python也有很多成熟的框架可供选择。 其中,Python的接口自动化测试框架有很多,以下是其中几个比较常用的框架: 1. requests:requests是一个简洁而优雅的HTTP库,它可以方便地发送HTTP请求并处理响应。在接口自动化测试中,可以使用requests库发送各种类型的HTTP请求(如GET、POST等),并对响应进行断言和验证。 2. unittest:unittest是Python自带的单元测试框架,它提供了一系列的断言方法和测试装置,可以方便地编写和执行接口自动化测试用例。unittest框架支持测试套件的组织和执行,可以进行测试用例的批量执行和结果的统计。 3. pytest:pytest是一个功能强大的Python测试框架,它支持自动发现测试用例、参数化测试、测试夹具等高级特性。pytest框架可以与其他库和工具(如requests、mock等)无缝集成,提供了更加灵活和可扩展的接口自动化测试解决方案。 4. Robot FrameworkRobot Framework是一个通用的自动化测试框架,它支持关键字驱动的测试方法,并提供了丰富的库和插件,用于编写和执行接口自动化测试用例。Robot Framework可以与Python无缝集成,通过编写自定义关键字和库,实现更加灵活和定制化的接口自动化测试。 以上是几个常用的Python接口自动化测试框架,每个框架都有其特点和适用场景。你可以根据项目需求和个人喜好选择合适的框架进行接口自动化测试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值