zoukankan      html  css  js  c++  java
  • 一些奇怪的问题&解决思路

    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方法,几小时都不结束
    • 分析:死锁。1.自动化脚本触发程序执行异步作业,达到脚本内超时时间,放弃作业直接去执行delete语句清理数据,但程序触发的异步作业尚在执行,还未结束,正在对数据库的数据进行update操作,自动化脚本执行delete操作产生死锁,sql.iud方法不退出,直接卡死。解决方案最优选是自动化脚本执行异步作业超时的时候,对异步作业标记放弃,停止操作数据库,再去执行清理操作  .2.异步作业,程序还没有处理完,脚本就去清理数据,这属于错误操作,判断程序完成的方法写得有问题
    • 总结:自动化脚本操作数据库时,需要考虑是否和程序正在执行的操作冲突
  • 相关阅读:
    接口默认值引发Qt调用DLL异常
    360杀毒引发的DLL调用异常
    VS2012基于QT5.1自定接口及插件并实现动态加载
    Qt调用C的DLL
    Qt动态多语言的实现(VS2012开发)
    Qt在VS2012中引用QtWidgets时报GLES2/gl2.h无法打开错误的解决办法
    php判断某字符串是否不以数字或其他特殊字符开头
    mysql的数据类型int、bigint、smallint 和 tinyint取值范围
    28个jQuery性能优化的建议
    主题:iframe高度的自适应
  • 原文地址:https://www.cnblogs.com/luoyc/p/14742166.html
Copyright © 2011-2022 走看看