在 Protractor e2e 测试中设置时区

Setting timezone in Protractor e2e tests

我有一些处理时区的 Protractor e2e 测试。 在我的本地机器上他们通过了,在 Appveyor 上他们没有。

我发现这是一个时区设置问题(Appveyor 上的不同设置)。

有没有办法在测试套件开始时设置时区,并在测试套件结束时将其恢复为旧时区?

我试过这个解决方案(所以请不要将其标记为重复): Set browser timezone in a Protractor test

我发现这是一个非常丑陋的解决方法。有什么更漂亮的吗?

您可以使用 PowerShell 更新时区并在之后重新设置。这可以使用 AppVeyor environment variables, Get-TimeZone & Set-TimeZone 来实现。这是一个 appveyor.yml 示例:

init:
  - ps: $env:ORIGIONAL_TZ = Get-TimeZone
  - ps: Set-TimeZone -Name "Pacific Standard Time"

on_finish:
  - ps: Set-TimeZone -Name $env:ORIGIONAL_TZ