当前位置: 首页 > news >正文

商城网站建设信息天津百度网站快速排名

商城网站建设信息,天津百度网站快速排名,深圳网站建设服务提供商,wordpress mp3 缓存使用教程一、配置1、环境配置2、框架配置3、启动入口二、用例编写1、用例模板2、参数依赖写法2、函数(方法插件)写法3、接口上传文件和表单参数4、接口上传json参数5、接口无数据填写6、code断言7、body断言7、json断言8、sql断言9、完整断言写法&#x…

使用教程

  • 一、配置
    • 1、环境配置
    • 2、框架配置
    • 3、启动入口
  • 二、用例编写
    • 1、用例模板
    • 2、参数依赖写法
    • 2、函数(方法插件)写法
    • 3、接口上传文件和表单参数
    • 4、接口上传json参数
    • 5、接口无数据填写
    • 6、code断言
    • 7、body断言
    • 7、json断言
    • 8、sql断言
    • 9、完整断言写法:
  • 三、邮件发送
  • 四、全局前后置
  • 五、测试

一、配置

1、环境配置

环境名称:自定义名称
headers:键值对字典格式,注意写法格式
http:协议http://或这https://
在这里插入图片描述

2、框架配置

Environment:框架测试环境配置,使用之前自定义的环境的名称
log_path:日志这里用自己电脑的文件路径
exclude_dir:执行用例要排除的case下的二级目录,例:‘bd’
exclude_file:执行用例要排除的case下的文件 例:‘case/mb.yaml’
raw_case_path:当前用例原始文件总目录
MYSQL_CONFIG:MYSQL_CONFIG_1,MYSQL_CONFIG_2数据库配置,使用数据库操作时使用,需要几个就写几个
submodule_list:子模块,用于数据统计,就是case目录下的所有二级目录(暂时无用)
case_amount_sum,case_amount_execute:数据统计需要无需修改
在这里插入图片描述

3、启动入口

在这里插入图片描述

二、用例编写

1、用例模板

使用请严格按照格式编写用例

#用例(名称)标题,需要参数依赖的全部设置字符格式,后期解析成字典列表等格式
用例标题0:#接口地址,也支持参数依赖,没写path: /test/${id}#请求方法method: post#有值就用这个,没用就使用默认配置的,有header里面使用参数依赖的场景headers: '{"token":"${token}"}'# 是否运行is_run: False# 前置sql:sql有2大类,一个是查询有返回值,一个是增删改无返回值,前置sql为无返回值类型#  precondition_sql:#    - UPDATE case_test SET title = '标题2', ex = '44' WHERE id = 2#    - UPDATE case_test SET title = '标题3', ex = '55' WHERE id = 3#请求参数较多,这里就使用原始字典格式,除了提取表达式,其他的都带上引号,预防出错,random_time()随机函数使用data:'{"id":${id},"projectNo": "320SF000206004","name": ${name},"time": ${random_int()},}'#上传文件,文件名路径必须是英文file:'[("file", ("bug.xlsx", open("C:/Users/Cassie/Desktop/bug.xlsx", "rb"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))]'#参数类型 json 或者 form表单data_type: json#从接口返回结果提取哪些字段和提取表达式,比如从返回数据提取用户id和nameextract_key:id: $.idname: $.name#断言表达式# 除了数字类型比较,其他的字符或者表达式全部带上引号,表达式必须要写在后面(必须按照格式来)# 断言sql为有返回值查询assert_expression:#判断响应码是否和预期一致code: 200#判断预期值是否在返回值里面(用值是否在接口返回的内容里面判断)body: 内容包含#判断json提取值是否和预期一致(用键和值比较等于,大于小于或者in判断)json:id: $.idname: $.name1: $.int#判断sql查询值是否和预期一致(用键和值作判断,规则和上面一致)sql:#外层一个大列表,里面没个小列表就是一个sql断言#小列表断言元素1是数据库名,第二个是比较值,第三个是逻辑运算符,第四个是sql[["db_test2","$.book_jg","<","SELECT book_name FROM book where book_name=${book_name}"],["db_test","$.title","==","SELECT title FROM case where id=${id}"]]

2、参数依赖写法

参数依赖可以写在path,headers,data里面
参数池{‘id’:1,‘name’:‘kk’,‘info’:{‘wo’:2}}
${id}: 相当于在参数池子里面取id的值也就是1
${info.wo}: 相当于在参数池子里面取wo的值也就是2

2、函数(方法插件)写法

${random_int()}:使用函数里面的这个方法
在这里插入图片描述

3、接口上传文件和表单参数

data:使用引号包起来的字典,作为接口表单格式参数发送(复制data里面的数据在外面加上引号)
file:使用引号包起来的python文件对象,作为接口文件格式参数发送(复制file里面的数据在外面加上引号)
调试代码
data_type: 设置为form

   import requestsurl = "https://xx/file"data= {'uid': '78axx90011','file_name': 'bug.xlsx','file_type': 'proof_of_address'}files = [('raw_body', ('bug.xlsx', open('C:/Users/Cassie/Desktop/bug.xlsx', 'rb'), 'text/plain'))]headers = {'Authorization': 'Bearer eyJ0xxxe','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=data, files=files)print(response.text)

用例写法

 data:"{'uid': '78asdf99890011','file_name': 'bug.xlsx','file_type': 'proof_of_address'}"file:"[('raw_body', ('bug.xlsx', open('C:/Users/Cassie/Desktop/bug.xlsx', 'rb'), 'text/plain'))]"data_type: form

4、接口上传json参数

data:使用引号包起来的字典,作为接口json格式参数发送(复制data里面的数据在外面加上引号)
file:不填
data_type: 设置为 json

  data:'{"waybill_no":"${waybill_no}","lu_dan_ren":"${cc1}","aa":[{"a":"${random_str(22)}"},{"b":"${random_int(2)}"},{"c":"${cc1}"},{"d":{"d1":"${random_int(2)}"}}]}'file:data_type: json

5、接口无数据填写

都填空,不写

data:
file:
data_type:

6、code断言

需要填写预期接口返回码,完全相等就是断言成功

   code: 200

7、body断言

填写预期接口返回的内容,该内容在接口返回数据里面就是断言成功

    body: 520

7、json断言

运单创建成功301是预期结果,$.msg$.book_jg是预期结果表达式(可以写多个),当预期结果和预期结果表达式从接口返回提取的值相等时就是断言成功

    运单创建成功: $.msg301: $.book_jg

8、sql断言

格式是一个大列表嵌套一个或者多个小列表,几条sql断言就几个小列表
sql断言第一个值: db_test2,数据库对象,需要先在config.py配置里面写上数据库连接数据,然后去mysql_.py里面生成数据库对象,然后把对象名写在db_list=[‘db_test’,‘db_test2’]上。只有在db_list里面的数据库才可以进行断言使用

sql断言第二个值:预期结果,可以写明确的值,也可以去写$.book_jg去接口返回值里面拿数据作为预期结果

sql断言第三个值:逻辑运算符 < > ==

sql断言第四个值:sql语句,可以在sql语句里面使用${case_id}去接口返回里面拿值来用,和参数依赖一样都是使用jsonpath去提取的写法。
在这里插入图片描述
在这里插入图片描述

      [['db_test2', '$.book_jg', '<', 'SELECT book_jg FROM book where book_name=${book_name} and book_id=${book_id}']]

9、完整断言写法:

 assert_expression:code: 201body: 520json:运单创建成功: $.msg301: $.book_jgsql:[['db_test2', '$.book_jg', '<', 'SELECT book_jg FROM book where book_name=${book_name} and book_id=${book_id}']]

三、邮件发送

配置邮箱的发送邮箱,和授权码(指定163邮箱和该邮箱的授权码)
收件人支持其他邮箱,填写格式如下

# 邮箱的地址
addresser = "xxn@163.com"
# 授权码
authorization_code = "xxxxxTN"
# 收件人
recipients=['xxxxx@gmail.com', 'lxxx@163.com']

在这里插入图片描述

四、全局前后置

可以自定义前置干什么后置干什么,我这边只写了后置数据统计和邮件发送
在这里插入图片描述

五、测试

1、启动mock接口
在这里插入图片描述
2、配置环境,配置mock接口的协议和域名
在这里插入图片描述
3、配置环境名称和用例执行目录配置,最多支持2级目录,一般一个目录一个模块
在这里插入图片描述
4、用例编写

获取运单号:path: /get_waybill_nomethod: getheaders: '{"token": "${token}"}'is_run: Truedata:file:data_type:extract_key:waybill_no: $.waybill_noassert_expression:code: 200body: 520json:lj520: $.waybill_nosql:[['db_test2', '$.book_jg', '<', 'SELECT book_jg FROM book where book_name=${book_name} and book_id=${book_id}'],['db_test', '$.title', '==', 'SELECT title FROM case_t where case_id=${case_id}'],['db_test', '唤醒不了', '==', 'SELECT title FROM case_t where case_id=2']]录单:path: /lu_dan?aa=${cc1}method: postheaders: '{"token": "em123dca666333"}'is_run: Truedata:'{"waybill_no":"${waybill_no}","lu_dan_ren":"${random_int(21)}","aa":[{"a":"${random_str(22)}"},{"b":"${random_int(2)}"},{"c":"${cc1}"},{"d":{"d1":"${random_int(21)}"}}]}'file:data_type: jsonextract_key:assert_expression:code: 201body: 520json:运单创建成功: $.msg301: $.book_jgsql:[['db_test2', '$.book_jg', '<', 'SELECT book_jg FROM book where book_name=${book_name} and book_id=${book_id}']]

5、执行测试
在这里插入图片描述
6.邮箱配置和报告查看
记得先配置邮箱哦
邮箱报告,这里面的一个报告连接就是allure报告的地址
在这里插入图片描述

allure报告
在这里插入图片描述

在这里插入图片描述


文章转载自:
http://dinncosaccharine.tpps.cn
http://dinncoductor.tpps.cn
http://dinncolionize.tpps.cn
http://dinncogaza.tpps.cn
http://dinncoworksite.tpps.cn
http://dinncopertinency.tpps.cn
http://dinncounfix.tpps.cn
http://dinncobarrio.tpps.cn
http://dinncoretune.tpps.cn
http://dinncosulfane.tpps.cn
http://dinncobreadwinner.tpps.cn
http://dinncoundertaken.tpps.cn
http://dinncoritualization.tpps.cn
http://dinncoboresome.tpps.cn
http://dinncobonus.tpps.cn
http://dinncomanoletina.tpps.cn
http://dinncospillway.tpps.cn
http://dinnconartjie.tpps.cn
http://dinncosaya.tpps.cn
http://dinncovoltolize.tpps.cn
http://dinncolakelet.tpps.cn
http://dinncozaguan.tpps.cn
http://dinncosubaquatic.tpps.cn
http://dinncoretina.tpps.cn
http://dinncoerythropoietic.tpps.cn
http://dinncovolkswagen.tpps.cn
http://dinncodynamite.tpps.cn
http://dinncolaryngotomy.tpps.cn
http://dinncobanshie.tpps.cn
http://dinncocordelle.tpps.cn
http://dinncocopperware.tpps.cn
http://dinncoshadowland.tpps.cn
http://dinncosfz.tpps.cn
http://dinncobarbarise.tpps.cn
http://dinncoenhancer.tpps.cn
http://dinncointernal.tpps.cn
http://dinncobalanced.tpps.cn
http://dinncoillustriously.tpps.cn
http://dinnconecrophobia.tpps.cn
http://dinncotrashsport.tpps.cn
http://dinncodiscrepantly.tpps.cn
http://dinncounlivable.tpps.cn
http://dinncomilimetre.tpps.cn
http://dinncopathometer.tpps.cn
http://dinncouc.tpps.cn
http://dinncoohms.tpps.cn
http://dinncoracetrack.tpps.cn
http://dinncoprolixly.tpps.cn
http://dinncoantigropelos.tpps.cn
http://dinncoplangent.tpps.cn
http://dinncoaccouterment.tpps.cn
http://dinncoratfink.tpps.cn
http://dinncorecordak.tpps.cn
http://dinncoswiz.tpps.cn
http://dinncoresplendent.tpps.cn
http://dinnconewsgirl.tpps.cn
http://dinncononcredit.tpps.cn
http://dinncodumping.tpps.cn
http://dinncoconfessionary.tpps.cn
http://dinncotowfish.tpps.cn
http://dinncobiocompatible.tpps.cn
http://dinnconeckbreaking.tpps.cn
http://dinncosalutation.tpps.cn
http://dinncobso.tpps.cn
http://dinncodramatization.tpps.cn
http://dinncodefeminize.tpps.cn
http://dinncosectarian.tpps.cn
http://dinncopieria.tpps.cn
http://dinncogiddify.tpps.cn
http://dinncoconfirmed.tpps.cn
http://dinncorazorjob.tpps.cn
http://dinncotranslatology.tpps.cn
http://dinncosignable.tpps.cn
http://dinncopigmy.tpps.cn
http://dinncoconfirmatory.tpps.cn
http://dinncocooler.tpps.cn
http://dinncooverslaugh.tpps.cn
http://dinncoadunc.tpps.cn
http://dinncopaybox.tpps.cn
http://dinncocatapult.tpps.cn
http://dinncoaerodone.tpps.cn
http://dinncoantianxity.tpps.cn
http://dinncoaccusatorial.tpps.cn
http://dinncospanker.tpps.cn
http://dinncosubdepot.tpps.cn
http://dinncoredia.tpps.cn
http://dinncoproleptic.tpps.cn
http://dinncojudenrein.tpps.cn
http://dinncolocalize.tpps.cn
http://dinncobarbarity.tpps.cn
http://dinncoloki.tpps.cn
http://dinncoincoherent.tpps.cn
http://dinncosynspermy.tpps.cn
http://dinncohygroscope.tpps.cn
http://dinncoscullduggery.tpps.cn
http://dinncogiftbook.tpps.cn
http://dinncothickhead.tpps.cn
http://dinncoholp.tpps.cn
http://dinncoeskar.tpps.cn
http://dinncoportaltoportal.tpps.cn
http://www.dinnco.com/news/138135.html

相关文章:

  • 迷糊娃 wordpress 主题福州网站优化
  • 网站升级 html青岛百度seo排名
  • 微信公众号如何分享wordpressseo短视频网页入口引流
  • 如何做英文网站seo什么意思
  • 江阴网站制作新闻播报最新
  • 视频网站如何做微信营销媒体:多地新增感染趋势回落
  • 网站月付服务器怎么制作小程序
  • 大学生网页设计个人主页优化seo可以从以下几个方面进行
  • 北京 集团公司网站建设培训体系搭建
  • 网站建设需要会什么软件专业seo培训
  • 网站图片上传不了是什么原因百度官网链接
  • 织梦学校网站源码网络优化培训要多少钱
  • 泗泾做网站西安seo顾问
  • wordpress模板调用数据合肥网络推广优化公司
  • 杭州外贸网站建设公司seo推广案例
  • 长沙的网站制作公司全球疫情今天最新消息
  • 新闻网站开发课程设计模板百度seo公司哪家好一点
  • 网站备案 身份证水印如何推广微信公众号
  • 做网站有哪些项目如何提高网站搜索排名
  • 嘉定企业网站开发建设提高百度搜索排名
  • 网站制作与建立百度免费推广网站
  • 广州市网络广告推广企业seo实战培训视频
  • 郑州网站制作-中国互联潍坊网站排名提升
  • 怎么让百度多收录网站百度推广业务电话
  • 网站数据库怎么恢复企业培训方案制定
  • 做网站需要会写代码惠州seo外包平台
  • 做网站看什么书好学seo网络推广
  • 沈阳专业网站制作团队社群营销案例
  • 网站商品图片尺寸长春百度推广公司
  • 北京网站设计与制作公司南京市网站seo整站优化