1

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

因此,对于测试系统的要求是:从远程服务器

  1. 查询页面,模拟浏览器的行为(主要是我们给出的模拟浏览器的URL,浏览器抓取网页的内容和它启动测试);
  2. 注入已测试的JavaScript或已经加载到远程页面上的测试JavaScript;
  3. 使用任何可以与任何CI软件(Jasmine,Mocha等)集成的测试框架。

例如,在处理AJAX请求时可以使用模拟技术,但我试图测试真实应用程序。希望这个问题对任何人都有用。

+1

http://phantomjs.org/ – sabithpocker 2014-09-27 03:30:48

回答

0

据我调查这个话题,迄今为止没有办法做到这一点。

在我的情况下,我有一个服务器PHP应用程序,使用REST接口与外部世界进行交谈。我的JavaScript代码与服务器通话并根据响应执行一些界面操作。所以,我的目标是测试JavaScript代码,但它几乎不依赖于服务器端。所以,我要测试JavaScript的方式:

  1. 使用嘲笑,考虑仰视this article。你基本上模拟你的服务器端API。这种方法存在问题 - 无论何时您更改API,您必须在您的模拟中执行相应的更改,因此测试集将是实际的。

  2. 从PHPUnit测试(或使用任何服务器端测试)直接调用JavaScript测试实用程序 - 不幸的是,还没有解决方案。但是这种方法可以节省大量开发人员的时间(无需为100-200个示例查询重写模拟),我们也可以即时指导服务器的行为。

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