2

如下图可以看出,系统时间和SoapUI的时间值是不同的。

系统和soapui时间

SoapUI 使用 JRE 时间,这就是为什么它应该是 Java 本身的错误,因为;下面的代码也给出了:Venezuela Time

String tzn = TimeZone.getDefault().getDisplayName();
System.out.println(tzn);

我尝试过但失败了:

  • 使用 regedit 并更改时区,然后将其恢复正确。
  • 在控制面板/Java/ JRE-Duser.timezone="Europe/Istanbul"设置/运行时参数中提供或在JAVA_OPTS变量内提供相同的参数。
  • 更改时间或时区并将其取回。

我确实检查了这个问题,以编程方式更正时区是可行的,但我需要更正影响自动化测试结果的 SoapUI 时区。因为测试是时间相关的。

4

1 回答 1

2

我真的很努力地解决了这个问题,好几天了。我真的不知道为什么最合理的两种方法不能正常工作:

  • 创建JAVA_OPTS具有以下值的系统变量:-Duser.timezone="Turkey"
  • 从命令行传递 vm 参数。

最后我放弃并为每个特定程序设置此参数,以便能够为 SoapUI 执行此操作,转到SoapUI Home Path/bin文件夹并右键单击soapui-pro.bat并选择编辑。(如果使用的是社区版,bat文件的名称会有所不同)

然后转到以 set 开头的第 29 行JAVA_OPTS=-Xms128m...并插入时区参数:-Duser.timezone="Turkey"。现在执行bat文件,它将开始正常工作!

于 2013-02-19T17:07:27.633 回答