获得两个不同的 phantomjs 测试结果,其中一个 URL

get two different test result of phantomjs with tap format on one URL

我在 Jenkins 上使用 phantomjs 测试我的网站,并混淆了在两个构建中得到不同的 TAP 结果,没有任何改变。 然而,Junit 的结果 xml 和我们预期的一样。

有人可以解释或帮助我吗?非常感谢!

这是我对比TAP的结果

3,4c3,4
< ok 1 B (82) overall score
< not ok 2 D (68) ynumreq: Make fewer HTTP requests
---
> not ok 1 C (78) overall score
> ok 2 B (80) ynumreq: Make fewer HTTP requests


24c21
<   message: There are 50 static components without a far-future expiration date.
---
>   message: There are 45 static components without a far-future expiration date.

77c69,81
< ok 6 A (100) ycompress: Compress components with gzip
---
> not ok 6 F (12) ycompress: Compress components with gzip

当你说"there is nothing changed"时,可能确实有什么地方不同。

对于基于 HTTP 的测试套件,您每次可能得到不同结果的可能原因有很多:

  • 您的测试用例在两次运行之间发生了变化。
  • 您正在针对实时网络服务器进行测试,其内容在两次测试之间发生了变化。
  • 您正在针对实时 Web 服务器进行测试,在您第一次进行测试时其内容尚未完全部署,但在第二次进行测试时已部署。
  • 您正在测试的实时 URL 的主机名解析为多个服务器,负载平衡器每次将您发送到不同的服务器,每个服务器都有不同的内容。
  • 您的测试客户端中存在某种形式的缓存。
  • 服务器正在提供动态内容,例如基于一天中的时间、客户端 IP 地址、...

JUnit XML 输出文件可能是相同的,例如,如果您没有执行 "clean" 构建并在构建开始时删除 XML 文件.也许你的测试工具拒绝编写一个新的 XML 文件,如果已经存在的话。