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

网站怎么做流量产品如何做市场推广

网站怎么做流量,产品如何做市场推广,更改wordpress密码,电子商务网站设计模板在实际的测试工作中,在做接口自动化测试时往往会遇到接口间数据依赖问题,即API_03的请求参数来源于API_02的响应数据,API_02的请求参数又来源于API_01的响应数据。 因此通过自动化方式测试API_03接口时,需要预先请求API_02接口&a…

在实际的测试工作中,在做接口自动化测试时往往会遇到接口间数据依赖问题,即API_03的请求参数来源于API_02的响应数据,API_02的请求参数又来源于API_01的响应数据。

因此通过自动化方式测试API_03接口时,需要预先请求API_02接口,获取到API_03的请求参数,而获取API_02的响应又需要预先对API_01发起请求,从响应中提取API_02的请求参数。

而下面的自动化框架设计便解决了这一问题:

用于数据驱动的Excel表格设计

图片

框架代码实现逻辑

当测试 id 为 shop-03 的接口时,首先判断【是否运行】。如果为 ‘yes’ 则判断该接口请求类型, ‘POST’ OR ‘GET’ 走不同的逻辑分支。

POST请求的话判断是否有【case依赖】,【case依赖】为空则无依赖,不为空则获取依赖的case id。

上述表格中,shop-03的case依赖为shop-02,获取到依赖的id后,代码逻辑主动去判断shop-02接口的相关字段参数(【是否运行】/【请求类型】/【case依赖】),如果shop-02也存在依赖接口shop-01,则代码继续判断shop-01接口对应字段参数。

shop-01接口【case依赖】字段为空时,获取【请求数据】根据请求数据这个字段获取单独存储在字典中的完整的请求参数,发起请求,获得shop-01的响应后根据shop-01对应的【被依赖接口的返回数据】提取下游接口。

即shop-02的所需要的依赖参数,存入一个依赖参数列表中,shop-02接口把获取到的参数代入到请求参数中进行请求,获取到shop-02的响应后同样根据【被依赖接口的返回数据】提取下游接口shop-03所需要的依赖参数,存入依赖参数列表,shop-03接口从列表中获取这个参数代入请求参数,进入请求,获取响应,根据【实际结果取值字段】获取要断言的字段,并对比预期结果完成该接口的测试。

# 主逻辑模块部分代码示例
'''判断是否有case依赖,如果有case依赖则执行depend_data.py中的depend_response_data(self,caseid)方法,该方法返回该接口发起请求的依赖参数'''elif method == 'Post':if depend_caseid:params_data_list = self.depend_result.depend_response_data(depend_caseid)log_info('main_logic.requests_api::根据依赖的caseid={},''调用depend_data.depend_response_data获取到的依赖数据为:{}'.format(depend_caseid, params_data_list))for j in range(len(depend_key_list)):params[depend_key_list[j]] = params_data_list[j][0]header = rquests_headers()log_info('main_logic.requests_api::执行的用例{}请求url为:{},入参为:{},请求头为:{}'.format(caseid,url,params,header))response = self.post_requests(url, params, header)# print(response)self.results_list.append(response)else:header = rquests_headers()response =self.post_requests(url, params, header)# print(response)self.results_list.append(response)
#数据依赖模块部分代码示例
'''通过excel表中【case依赖】字段一层层向上游接口请求,结果储存在一个结果列表中供下游接口调用,最后返回测试接口所需要的依赖数据'''    
def depend_response_data(self,caseid):depend_caseid_t = self.excel_case_data.get_depend_caseid(caseid)depend_caseid_list = []#如果case依赖字段不为空if depend_caseid_t:#获取接口串联依赖caseid列表while depend_caseid_t:depend_caseid_list.append(depend_caseid_t)depend_caseid_t = self.excel_case_data.get_depend_caseid(depend_caseid_t)depend_caseid_list.reverse()depend_caseid_list.append(caseid)march_result_list = []num_caseid = len(depend_caseid_list)#迭代获取列表中的caseidfor i in range(num_caseid):depend_caseid_s = self.excel_case_data.get_depend_caseid(depend_caseid_list[i])depend_key_list = self.excel_case_data.get_depend_key(depend_caseid_list[i]).split(",")params_key = self.excel_case_data.get_request_key(depend_caseid_list[i])params = self.requests_data[params_key]url = self.excel_case_data.get_url(depend_caseid_list[i])#判断该caseid的测试用例中case依赖是否为空if depend_caseid_s:#获取上一个依赖接口返回的依赖参数params_data_list = march_result_list[i-1]#根据该caseid数据依赖字段构造该接口的传参for k in range(len(depend_key_list)):params[depend_key_list[k]] = params_data_list[k][0]#对该接口发起请求header = rquests_headers()result = post_requests(url, params, header)getdata = GetExcelDate()is_depend_response = getdata.get_depend_response(depend_caseid_list[i])#判断该接口是否需要为下一接口返回依赖参数if is_depend_response:depend_response_list = is_depend_response.split(",")results = resultmatchlist = depend_response_listmatchparams = match_params(results, matchlist)march_result_list.append(matchparams)else:print("caseid={}不需要返回被依赖的字段".format(depend_caseid_list[i]))#当该caseid测试用例中case依赖为空时直接请求该接口,返回匹配到的下一关联接口的请求参数else:result = self.depend_response(depend_caseid_list[i])getdata = GetExcelDate()is_depend_response = getdata.get_depend_response(depend_caseid_list[i])if is_depend_response:depend_response_list = is_depend_response.split(",")results = resultmatchlist = depend_response_listmatchparams = match_params(results, matchlist)march_result_list.append(matchparams)else:print("caseid={}不需要返回被依赖的字段".format(depend_caseid_list[i]))return matchparams 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

http://www.khdw.cn/news/8319.html

相关文章:

  • 东莞平台网站建设设计公司seo工具网站
  • 西安机场商务宾馆百度做网站厦门网站优化
  • 互联网传媒 网站短视频seo优化排名
  • h5链接怎么做建站 seo课程
  • 网站建设实训方案百度网盘网页登录入口
  • 河南省建设工程造价信息网站长工具seo综合查询下载
  • 网站推广做多大尺寸黑帽seo教程
  • 南京网站建设制作淘宝直通车
  • 网站开发最适合的浏览器做一个推广网站大概多少钱
  • 唐山公司网站建设 中企动力网络广告文案案例
  • 网站建设文章舆情通
  • 做网站的网页新产品怎样推广
  • 专业网站建设网站设计网络营销专业就业公司
  • 网站域名com和cn的差别在哪里福州网站seo公司
  • 妈妈做愛网站杭州百家号优化
  • 做网站的技术smat网络推广员的工作内容
  • 东莞网站建设托管除了百度指数还有哪些指数
  • 百度网站关键字搜索怎么做站长素材官网
  • ssm实战项目网站开发网页制作公司排名
  • 类似游侠客网站建设网页优化
  • 百度云可以做网站吗网上营销方式和方法
  • 新型新冠病毒最新消息长沙seo步骤
  • 一个服务器上有两个网站 要备案两次吗百度搜索排行seo
  • 轻淘客 轻网站怎么做怎么优化百度关键词
  • 做私服网站电话网络推广优化
  • 专业网站建设需要多少钱怎样做引流推广
  • 免费外贸网站制作口碑好的设计培训机构
  • 网站制作维护站长工具官网
  • 做外包哪个网站好一些aso优化技术
  • 做网站开发服务商上海推广外包