美文网首页
接口测试中遇到的一个与时区相关的问题

接口测试中遇到的一个与时区相关的问题

作者: 张鑫zhangxin | 来源:发表于2019-11-24 19:49 被阅读0次

一、问题

一个case,本地跑没有任何问题,但一布到jenkins上,就会报错,错误的内容是实际返回的时间与断言里的预期时间差了8个小时

二、分析问题

怀疑是时区问题,因为与开发调接口时没有发现问题,怀疑与jenkins服务器上设置的时区相关,经查本地跑的接口时CST时区,但从jenkins上跑出来的是UTC时区。

检查我们的case,发现通过jenkins运行,在传date类型的参数时,落库的时候时间就出现了8小时的问题,我们传的date类型的参数,是通过时间戳转成的date,问题可能就出现在这个时间戳转date的方法中。

经检查我们的beanShell发现,方法中没有设置默认时区,都是按照我们本地的时区来的,我们本地的时区恰好与开发人员服务器的时区一致,所以本地运行没有出现问题,但在jenkins上运行的时候,jenkins上服务器的时区是UTC时区,所以出现了本地运行和在jenkins上运行时间差8小时的问题

三、解决方案

在时间戳转date的方法上设置默认时区

四、思考与总结

1.以往接口参数一般都是传时间戳,第一次遇到传date类型,以后接口设计是否应传时间戳更加合适一些?

2.涉及到date类型,需考虑时区问题

3.时间戳和时区。

时间戳:

时间不分东西南北、在地球的每一个角落都是相同的。他们都有一个相同的名字,叫时间戳。时间戳 指的就是Unix时间戳(Unix timestamp)。定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

时区:

时间戳 在地球的每一个角落都是相同的,但是在相同的时间点会有不同的表达方式,所以有了另外一个时间概念,叫时区。这里的时区与地区不是同一个概念,例如我们所在的时区叫 东八区 

相关文章

  • 接口测试中遇到的一个与时区相关的问题

    一、问题 一个case,本地跑没有任何问题,但一布到jenkins上,就会报错,错误的内容是实际返回的时间与断言里...

  • 时区问题 - Python 为例

    同事在开发过程中遇到了时区问题,经过同事们的努力问题最终解决了。这让我发现时区接口比我想像的要复杂一些。 首先,时...

  • 怎样判断网址是否被微信封 微信域名检测接口的实现

    本人在做接口测试的过程中,遇到了一个问题,有好几个需要测试的环境,配置了不同的域名但是每个域名下需要测试的接口不同...

  • 一文解决MySQL时区相关问题

    前言: 在使用 MySQL 的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间...

  • 时区那些事儿

    摘要:本文总结几类项目中跟时区相关的问题,给大家分享一些基本的时区知识,以及如何在软件开发和测试中注意考虑时区因素...

  • 时区那些事儿

    摘要:本文总结几类项目中跟时区相关的问题,给大家分享一些基本的时区知识,以及如何在软件开发和测试中注意考虑时区因素...

  • JMeter csv参数化中文变乱码,相关问题

    背景,在接口测试中需要参数化提交数据, 因为数据格式不同, 导致参数化遇到相关问题,像我一样的小白,可以将需要参数...

  • 测试接口时遇到的问题

    问题:Cannot create PoolableConnectionFactory (Illegal conne...

  • python2.7 json串编码加密问题

    昨天在用python做H5接口测试。在编写“添加订单”接口测试代码时遇到了“api签名失败”的问题 1,第一个问题...

  • SpringBoot中关于DateTime的两个坑

    最近在SpringBoot项目中遇到两个有时间相关的问题,一个是时间的序列化的问题,一个是Java8中的时区转换问...

网友评论

      本文标题:接口测试中遇到的一个与时区相关的问题

      本文链接:https://www.haomeiwen.com/subject/ectrwctx.html