RobotFramework之接口自动化流程测试
Posted 折翼の翅膀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RobotFramework之接口自动化流程测试相关的知识,希望对你有一定的参考价值。
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\')
以上是关于RobotFramework之接口自动化流程测试的主要内容,如果未能解决你的问题,请参考以下文章
Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)
robotframework 做接口测试,怎么传raw格式的参数