ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RobotFramework之接口自动化流程测试

2021-05-15 08:32:16  阅读:182  来源: 互联网

标签:Set 流程 excel 接口 用例 RobotFramework Variable 数据


Robot Framework之接口测试自动化(数据准备、数据脚本实现、实现层和断言层、测试报告)

   脚本用例通用模板设计 单接口用例测试 数据准备,已经取出了该接口的所有正向和逆向接口测试用例,那现在如何把数据和用例结合起来,进行断言,判断响应回来的结果与断言结果是否保持一致。如果保持一致,接口测试成功,如果保持不一致,判断出错的原因。

  一个测试用例对应一个接口,一个接口对应一个excel文件对应的sheet获取用例数据。目的是便于后期维护。

  脚本通用测试用例主要更改的地方包括:文件名称、sheet名称、请求类型(Get/Post)、请求类型后参数调用(比如json、param、data)、断言key的验证(比如success、description)等信息。

单接口测试-通用脚本测试用例:

    #分别获取来源数据excel表名、对应的sheet表。红色的都是变量,需要根据自己的项目进行变更和修改。
    ${dir}    Set Variable    用例数据excel地址
    ${sheetname}    Set Variable    用例数据excel中sheet表名称-接口名称
    Set Global Variable    ${dir}
    Set Global Variable    ${sheetname}
    获取用例表信息
    : FOR    ${row}    IN RANGE    2    ${rowCount}
    \    ${action}    Read Cell Data By Coordinates    ${sheetname}    1    ${row}
    \    run keyword if    '${action}'=='N'    Continue For loop
    \    Set Global Variable    ${row}
    \    获取单个用例参数
    \    Create Session    api    ${host}    
    \    ${res}    Get(或Post)    Request    api    ${uri}    params=${参数变量}
    \    ${responsedata}    to json    ${res.content}
    \    ${assert}    get from dictionary    ${responsedata}    msg
    \    Should Be Equal    ${assert}    @{ConfPara}[2]

    查询分页,从excel中获取数据 脚本用例通用模板设计主要是针对excel中取数据,通过调用关键字去操作。但是有时候如果我们需要从数据库取数据、数据是随机产生的、需要先从数据类新增数据。 excel里面的断言内容是固定的,但断言结果不固定。比如列表数据求和,需要根据sql查询数据库的结果来和接口返回的数据做比较。 有时候需要保证数据库的一致性,在操作了新增等操作,需要对数据进行还原操作。

 数据字段不能重复:

#数据字段不能重复
    #分别获取来源数据excel表名、对应的sheet表
    ${dir}    Set Variable    test.xls
    ${sheetname}    Set Variable    test
    Set Global Variable    ${dir}
    Set Global Variable    ${sheetname}
    获取用例表信息
    : FOR    ${row}    IN RANGE    2    ${rowCount}
    \    ${action}    Read Cell Data By Coordinates    ${sheetname}    1    ${row}
    \    run keyword if    '${action}'=='N'    Continue For loop
    \    Set Global Variable    ${row}
    \    获取单个用例参数
    \    Create Session    api    ${host}    
    \    ${name}    generate random string    5    [LOWER]
    \    run keyword if    '&{ConfDataDict}[attrCnname]'=='random'    set to dictionary    ${ConfDataDict}    attrCnname    ${name} 
    \    ${res}    Get Request    api    ${uri}
    \    ${responsedata}    to json    ${res.content}
    \    ${assert}    get from dictionary    ${responsedata}    msg
    \    Should Be Equal    ${assert}    @{ConfPara}[2]

 

RF安装Databases,比如MySQL

1.pip install PyMySQL

 

连接数据库:Connect To Database pymysql 数据库名 数据库用户名 数据库密码 ip 数据库端口

断开连接:Disconnect From Database

如何对数据库表进行查询:query

如何插入和删除数据:Execute Sql String

如何执行数据库脚本文件:INSERT INTO city(name,code) VALUES(‘wendy’,'001')

 

标签:Set,流程,excel,接口,用例,RobotFramework,Variable,数据
来源: https://www.cnblogs.com/wendyw/p/14555133.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有