我有一个基于 Polymer Starter Kit 的项目,其中包括 Web-Component-Tester
该项目包括 php 服务器代码,我还想通过编写测试在浏览器中运行来进行测试,该浏览器将通过 Ajax 调用利用 PHP 服务器代码。
这意味着仅在测试服务器端代码时替换 Web 组件测试器正在使用的服务器。我希望为此做一个单独的 gulp 任务。
不幸的是,我不了解 WCT、Selenium 和当前运行的服务器之间的关系。我可以看到 WCT 命令启动了 Selenium,但我不知道 Web 服务器是什么以及它是如何启动的。我怀疑它是 WCT,因为配置了目录到 url 的映射,但除此之外,我没有任何线索,尽管试图阅读代码。
有人可以解释我如何在测试客户端时让它运行自己的服务器,但在运行服务器时依赖已经设置的 Web 服务器(nginx)。如果这是选择不同配置的一种方式,我可以将 nginx 设置为从本地主机或其他域运行。
编辑:我现在发现 runner/webserver.js 启动了一个快速服务器,并且 url 被映射,因此测试运行器的基本目录和 bower_components 目录都映射到 /components url。
目前让我感到困惑的是在什么情况下运行它。似乎加载插件以某种方式做到了,但我从阅读代码中的理解是微不足道的。