robotframework(6.5)使用用户关键字实现:业务逻辑、测试用例、断言的分离

在 Robot Framework-用户关键字的使用方法(6) 讲到了用户关键字的使用,

这篇文章是对它的补充,我们都知道在自动化测试用例中,实现业务逻辑和测试数据的分离,使得代码结构更清晰,方便后期维护。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    

该接口的功能是:租户认证用户登录后显示5个菜单(新增菜单‘我的学校’)

接口测试用例:

1、用户未登录时,只显示4个

2、租户的认证用户登录,显示5个

3、租户的非认证用户登录,显示4个

4、非租户的认证用户登录,显示4个

测试流程:指定用户信息--》拼接post请求--》对返回数据进行提取,验证是否满足预期

会发现,每个场景都有‘发送请求(传递参数一样,值不一样)’、提取目标数据并判断是否满足预期(只有2种预期结果),所以有必要将公共部分写成函数,进行调用。

  • post请求需要传入参数(用户信息),并将响应数据返回(set suite variable),
  •  提取目标数据需要传入参数(response的数据),并断言 (如果提取操作比较繁琐,也可单独抽离成一个函数)

 

 

 

 

 

 

 

 

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 这是用户登录的公共函数

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   这是提交post请求,并将响应结果return给下一个函数使用。

  

 

 这是测试用例,调用login登录后,post请求时,传入login设置的全局变量,断言时,传入post设置的suite variable变量。

======================================================================================================================================================================

这期间遇到的问题:

Q1:调用post请求,传参时,参数传不进去,在fiddler中,看到webfrom是空的

A:post请求时,create session时,加上header即可。(截图中有提示需要传入header)

 

Q2:post请求 函数化时,传参个数不确定时,应该怎么来写这个函数?

出于这样的场景:未登录时,该接口只需要传入APP的version,登录后,才需要传入user信息。

后来将不需要传入的参数置为空了,即参数个数仍固定。

注意:传入参数为空时,userid=  ,等号前面的名字与post请求定义时的名字要一样,不然报404错误。

 Q3:函数的return使用,是否适用?

A:适用,就可以不用set suite variable

  

 ==========================================================================================

常用方法:
${len}                        Get Length                 ${modList}
Should Be True         ${len}<=4

转载于:https://www.cnblogs.com/ww-xiaowei/p/10642929.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值