远程JavaScript web应用程序的无头测试

远程JavaScript web应用程序的无头测试,javascript,unit-testing,continuous-integration,headless-browser,Javascript,Unit Testing,Continuous Integration,Headless Browser,有一个web应用程序需要测试。该应用程序使用AJAX和jQuery。必须为与浏览器和客户端的所有可能交互编写测试。有一些工具可以实现这一点,例如SeleniumIDE,但我想知道是否可以使用任何无头浏览器 因此,对测试系统的要求如下: 从远程服务器查询页面,模拟浏览器行为基本上我们给无头浏览器URL,浏览器获取页面并对其进行测试; 注入已测试的JavaScript或已加载到远程页面的测试JavaScript; 使用任何可与任何CI软件Jasmine、Mocha等集成的测试框架。。 例如,在处理A

有一个web应用程序需要测试。该应用程序使用AJAX和jQuery。必须为与浏览器和客户端的所有可能交互编写测试。有一些工具可以实现这一点,例如SeleniumIDE,但我想知道是否可以使用任何无头浏览器

因此,对测试系统的要求如下:

从远程服务器查询页面,模拟浏览器行为基本上我们给无头浏览器URL,浏览器获取页面并对其进行测试; 注入已测试的JavaScript或已加载到远程页面的测试JavaScript; 使用任何可与任何CI软件Jasmine、Mocha等集成的测试框架。。
例如,在处理AJAX请求时可以使用模拟技术,但我正在尝试测试实际应用程序。希望这个问题对任何人都有用。

就我调查这个话题而言,到目前为止还没有办法做到这一点

在我的例子中,我有一个服务器PHP应用程序,它使用REST接口与外部世界进行对话。我的JavaScript代码与服务器对话,并根据响应执行一些接口操作。因此,我的目标是测试JavaScript代码,但它几乎不依赖于服务器端。因此,我必须找到测试JavaScript的方法:

用嘲弄的方式,考虑向上看。您基本上模拟了服务器端API。这种方法有一个问题——无论何时更改API,都必须在模拟中执行相应的更改,因此测试集将是实际的

直接从PHPUnit测试或使用任何服务器端测试调用JavaScript测试实用程序——不幸的是,目前还没有解决方案。但是这种方法将节省大量开发人员的时间,不需要为100-200个示例查询重写mock,而且我们还可以动态地指导服务器的行为

请就第二种方法给出反馈。如果真的需要,我想实施它是有意义的