2019 Python接口自动化测试框架实战开发(二)

这篇博客介绍了如何处理Python接口自动化测试中的数据依赖问题,包括设计接口自动化框架,持续集成,获取cookie及请求处理。博主通过实战展示了在苏宁易购下单和支付接口中如何处理数据依赖,使用fiddler抓包分析接口交互,并实现自动化测试框架。此外,还介绍了如何设置Jenkins进行持续集成,确保自动化测试报告能通过邮件发送。
摘要由CSDN通过智能技术生成

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

接着上一篇博客继续往下写 :2019 Python接口自动化测试框架实战开发(一)_cdtaogang's blog-CSDN博客_python 接口自动化测试

非VIP用户请点击这里进行查阅 

目录

七丶接口自动化框架设计到开发

八丶持续集成

九丶获取cookie及请求处理


七丶接口自动化框架设计到开发

14.数据依赖问题从设计思路开始

说明:博主之前的测试的app不存在数据依赖的接口,所以博主这里下载了苏宁易购,用其下单以及支付两个接口来说明接口数据依赖

  • 在苏宁易购上选择一款手机,点击立即购买后选择购买的内存以及颜色后,点击确定跳转到订单页面,如下图所示

  • 通过fiddler抓取下单的接口,该接口返回的数据中可以看出cart2No=620200000207514372,该商品的订单编号以及customerNo=7157450907客户编号

  • 在订单页面,点击提交订单,抓取提交订单接口,该接口post请求data数据中的cart2No参数的值,该值就是服务器返回下单接口的数据,这就是所谓的接口数据依赖,需要说明的是,提交订单的接口服务器返回的响应为errorMessage=销售火爆,请稍后再试(E234),博主测试其他的商品都是提示该错误信息,说明苏定的app此时不能进行购买商品

  • 博主整理了一下整个下单和支付的接口已经请求数据和响应数据
# 下单
request_url = "https://shopping.suning.com/app/addcart/private/quickBuy.do"
request_data = {
    "data":{"cartHeadInfo":
    {"userFlag":"0","directFlag":"1","operationChannel":"50",
    "operationTerminal":"01","operationEquipment":"02","operationUser":"",
    "token":"0706172998861561345578681_3989FF3858C23E2FE49FB96928935FC51BC2D7E2B00145D19087E1232123D1E2F6AEA7E5A1D95F2B9BC731F5FA0F0B48",
    "detect":"mmds_a_._920c68ed-4fcc-440e-a717-28b23d2a26fd_._YQQQ**1_PaaX*C****4*n**1_Paa0*C**1-D*n******2_*****oy****1_PbTSXH*1J54.o*******1XH**1LD.o*o1_PaA7XH****k.o******Pv****Pdy****1_P0DZcc**iU4Mq**1_P0DZcc**1-DMq**1_PcB_c2**lm4M9**1_PcB_c2**1-DM9******MS****OHy****1_Pc9*ce**GH4YZ**1_Pc9*ce**1kDYZ**1_Pc9*ce**Iq4YZ**1_Pc9*ce**17DYZ**1_Pc9*cH**DU4Yn**1_Pc9*cH**1CDYn**1_Pc9*cc**3m4Yn**1_Pc9*cc**P3DYn**1_Pc9*cd**X0441**1_Pc9*cd**1AD41**1_Pc9*cm**3R44Z**1_Pc9*cZ**1-D4Z**1_Pc9*cZ**Pa44Z**1_Pc9*cZ**1oD4Z*******1cZ**1p44Z**1_Pc9*cZ**ReD4Z**1_Pc9*cZ**1m44Z**1_Pc9*cZ**1lD4Z**1_Pc9*cm**1X44Z**1_Pc9*cm**1eD4Z**1_Pc9*ck**1l44Z**1_Pc9*ck**1lD4Z**1_Pc9*ck**Px44Z**1_Pc9*ck****D4Z**1_Pc9*cL**9m4Y_**1_Pc9*cL**1kDY_*******1cL**1S4Y_**1_Pc9*cL**RkD41**1_Pc9*cJ**18441**1_Pc9*cJ**1iD41**1_Pc9*cJ**1m441**1_Pc9*cJ**1kD41**1_Pc9*ch*1Sx441**1_Pc9*ch**1aD41**1_P0jS*yPUup4*4**1_P0jS*y**1_D*4******Pv*****ty****1_P0DZch*1WE4Ob**1_P0DZch**1xDOb**1_PcB_c0**fx4M0**1_PcB_c0**1oDM0******MS****3Sy********Pv***J*Ey********2_****ixy****1_PbTS*y**UZ4*d**1_PaPK*y**1XD*d******2N*****By****1_PaPi*v**KZ4*n**1_PaPi*v**POD*n******RA*****hy****1_PcVIcd**qr449*******1cd**POD49**1_PbZJM1**if4YK**1_PavoM1**PXDYK******.p****13y****1_PcjG2E*EhR42N*******12E**1oD2N******Pv****POy****1_PaaX*5*.xf4*j**1_Paa0*5**1CD*j******.p*****qy****1_PcjG2a**uo42x*******12a**PeD2x******Pv****1zy****1_P0DZcc**C84O4**1_P0DZcc**P*DO4**1_PcB_cc*P9m42a**1_PcB_cc**P3D2aQQQNvJjJhSpefQQQMMceTs**aYcXDfPGXDsuXcYGMXuCaebCQQQMDYaPPYKtBQQQMDMYuQQQMQQQP*sPYDCXXPDsaQQQMQPQMf46724f27b81204df0356ffa5666c5ec","dfpToken":"TFItvV179MauUij2SsWqz0b18","operationStoreCode":"","provinceCode":"020","cityCode":"021","districtCode":"02111","logContent":""},
    "immediateBuyItems":[{"itemHeadInfo":{"itemNo":"1","activityType":"01","activityId":""},
    "mainCmmdtyInfo":{"basicInfo":{"itemNo":"1","cmmdtyCode":"000000010985369117","shopCode":"0000000000","shopAddCode":"0030001790","shopName":"苏宁自营","overSeasFlag":"","cmmdtyQty":"1","serviceStoreCode":"","serviceStoreName":"","commodityType":"","carShopSerWay":""}}}],
    "supportYB":"1","publishDate":"20190508"
    }
}
response_data = {
"api":"ccf.cart1.quickbuy",
"code":"1",
"data":{"errorInfos":[],"result":{"cart2No":"620200000207521425","customerNo":"7157450907","isSuccess":"Y","reserve":"","safeDps":"0","showRecommend":"1"}},
"msg":"","v":"1.0"
}

cart2No = response_data["data"]["result"]["cart2No"]


# 支付
request_url = "https://shopping.suning.com/app/V2/private/confirmOrder.do"
request_data = {"cart2No":cart2No,
"salesPerson":"",
"channelType":02,
"terminalVersion":MOBILE|02|01|7.7.3|11007,
"terminalModel":HUAWEI|DUK-AL20,
"orderMemoJson":[],
"saleChannel":000000011116457666|9264|121.492479|31.247221|00|06|;000000011039772482|9264|121.492479|31.247221|00|06|,
"showGift":1,
"cipher":"",  
"detect":"mmds_a_._920c68ed-4fcc-440e-a717-28b23d2a26fd_._YQQQ**1_Pc9*cd****DY5**1_Pc9*cd**jx4Y5**1_Pc9*cd**PODY5**1_Pc9*cd**9T4Y5**1_Pc9*cd**PMDY5**1_Pc9*cd**X04Y5**1_Pc9*cd**PeDY5**1_Pc9*cd**4q4Y5**1_Pc9*cd**PkDY5**1_Pc9*cd**Dm4Y5**1_Pc9*cd**PkDY5**1_Pc9*cd**E34Y5**1_Pc9*cd**PlDY5**1_P0jS*y*SjM4*X**1_P0jS*y**1ND*X******Pv*****ty****1_P0DZcH*11i42u**1_P0DZcH**1_D2u**1_PcB_cD**mY42A**1_PcB_cD**1oD2A******MS****Muy****1_P0jS*_**pG4*m**1_P0jS*_**1SD*m******Pv*****qy****1_P0DZci*3bJ4MK**1_P0DZci**1-DMK**1_PcB_c**YjB4RB**1_PcB_c***1oDRB******MS****MPy****1_Pc9*ct*1To4YC**1_Pc9*ct**1CDYC**1_P0jS*C1sPt4*J**1_P0jS*C**1CD*J******Pv*****yy****1_PaaX*C**E-4*n**1_Paa0*C**1-D*n******2_*****oy****1_PbTSXH*1J54.o*******1XH**1LD.o*o1_PaA7XH****k.o******Pv****Pdy****1_P0DZcc**iU4Mq**1_P0DZcc**1-DMq**1_PcB_c2**lm4M9**1_PcB_c2**1-DM9******MS****OHy****1_Pc9*ce**GH4YZ**1_Pc9*ce**1kDYZ**1_Pc9*ce**Iq4YZ**1_Pc9*ce**17DYZ**1_Pc9*cH**DU4Yn**1_Pc9*cH**1CDYn**1_Pc9*cc**3m4Yn**1_Pc9*cc**P3DYn**1_Pc9*cd**X0441**1_Pc9*cd**1AD41**1_Pc9*cm**3R44Z**1_Pc9*cZ**1-D4Z**1_Pc9*cZ**Pa44Z**1_Pc9*cZ**1oD4Z*******1cZ**1p44Z**1_Pc9*cZ**ReD4Z**1_Pc9*cZ**1m44Z**1_Pc9*cZ**1lD4Z**1_Pc9*cm**1X44Z**1_Pc9*cm**1eD4Z**1_Pc9*ck**1l44Z**1_Pc9*ck**1lD4Z**1_Pc9*ck**Px44Z**1_Pc9*ck****D4Z**1_Pc9*cL**9m4Y_**1_Pc9*cL**1kDY_*******1cL**1S4Y_**1_Pc9*cL**RkD41**1_Pc9*cJ**18441**1_Pc9*cJ**1iD41**1_Pc9*cJ**1m441**1_Pc9*cJ**1kD41**1_Pc9*ch*1Sx441**1_Pc9*ch**1aD41QQQNvJjJhSpefQQQMMceTs**aYcXDfPGXDsuXcYGMXuCaebCQQQsaCMDCXuDYQQQMDMYuQQQMQQQP*sPYDCMMusCuQQQMQPQM73a04a9cdb50e2faa2bf8d79252434e3",
"dfpToken":"TFItvV179MauUij2SsWqz0b18",
"deviceNo":"868334782216554",
"specDesc":[{"itemNo":"620200000344251973","pictureLink":"\/\/imgservice.suning.cn\/uimg1\/b2c\/image\/5lHDNQYOPSu5tQWQt9JdHA.jpg","specInfos":[{"specTypeName":"颜色","specContent":"秘境黑"},{"specTypeName":"规格","specContent":"6GB+64GB"}]}],
"splitFlag":01,
"publishDate": 20190508,
}

response_data = {
"api":"ccf.cart2.submitOrder",
"code":"1",
"data":{"cardInfoss":[],"cartHeadInfo":{"alipayWakeFlag":"1","cart2No":"","customerNo":"","dfpTokenStatus":"","isSuccess":"N","miniCartRouteSwitch":"","payStatus":"","toastTime":"5"},
"errorInfos":[{"cmmdtyPrice":"","dareType":"","earlyPrice":"",
"errorCode":
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cdtaogang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值