首页 > 其他 > 详细

一些奇怪的问题&解决思路

时间:2021-05-08 00:00:49      阅读:24      评论:0      收藏:0      [点我收藏+]

1.使用requests库请求get接口的传参问题

  •  问题:请求一个get接口,语法:requests.get(url,params=param),其中param是一个字典,并且字典内部的valueb包含list,接口报400,无法请求成功
  • 解决:requests.get(url,params=str(param)),param还是原来的字典,请求成功
  • 总结:requests.get方法的params参数,虽然支持字典格式传参,但字典内部包含list的时候,接口请求报错,需要将字典转成字符串传参(不排除是接口本身特殊,待验证)

 

2.Jenkins执行自动化,Oracle连接断开问题

  • 问题:Jenkins执行自动化脚本报错数据库连接失效,本地不报错
  • 解决:问题原因是开启数据库连接写在了py文件的类外部/ 类内部,但是不在任何函数里,这样的代码,pytest在一开始搜集用例时就会执行,等到真正执行该条case的时候,连接开启已经自动关闭了。
  • 总结:数据库连接应该在哪里用就在哪里开,不能写在函数外部

 

3.Jenkins执行自动化,sql.iud操作卡死问题

  • 问题:Jenkins执行自动化脚本卡在sql.iud方法,几小时都不结束
  • 解决:新知识:死锁。自动化脚本触发程序执行异步作业,达到脚本内超时时间,放弃作业直接去执行delete语句清理数据,但程序触发的异步作业尚在执行,还未结束,正在对数据库的数据进行update操作,自动化脚本执行delete操作产生死锁,sql.iud方法不退出,直接卡死。解决方案最优选是自动化脚本执行异步作业超时的时候,对异步作业标记放弃,停止操作数据库,再去执行清理操作
  • 总结:自动化脚本操作数据库时,需要考虑是否和程序正在执行的操作冲突

一些奇怪的问题&解决思路

原文:https://www.cnblogs.com/luoyc/p/14742166.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!