2014-08-27 39 views
2

我发展聊天应用程序,使用Node.js的socket.io模块的服务器上,和JavaScript客户端上。随着它变得越来越复杂,我越来越厌倦通过点击浏览器来测试不同的使用场景。现在我使用不同的浏览器来分离Cookie。因此Firefox中有一个聊天的参与者,在歌剧院 - 第二等如何测试聊天web应用程序

所以我的问题是:

我可以以某种方式自动执行此?

我听说过像Phantom JS,Selenium WebDriver这样的无头测试引擎,但我不知道如何在不同的浏览器之间编写测试。事实上,我的确需要分离cookie,不同的浏览器只能用于这项任务。

可能是我无法解释我的问题,以谷歌:)对这样的问题全部回答暗示跨浏览器的开发,和测试方面。

任何帮助将不胜感激了很多!如果你试图去卡斯帕/幻影/ SlimerJS路线

+0

这将是非常好的,如果它可能发生在这样的环境:https://chrome.google.com/webstore/detail/split-screen/eachfleknamlcepmplpdghagngjfjkin – Blubberguy22 2014-08-27 13:12:50

+0

@ Blubberguy22我不明白,你是什么意味着这个扩展。你能更进一步解释你的想法吗? – 2014-08-27 17:37:35

+0

这只是一个扩展名,允许两个标签紧挨着打开。我在说如果这些标签可以使用单独的cookie进行操作,那将会很不错。 – Blubberguy22 2014-08-28 13:03:50

回答

1

How to test two interacting browsers (e.g. chat app)显示的答案可能是有用的。我不会将它标记为重复的,因为您的问题更一般,而那个问题是关于如何同步两个CasperJS实例的;它也不是专门关于socket.io的。因为Phantom 1.x使用旧的WebKit,因此如果使用Phantom测试Web套接字,您将需要获得Phantom 2.x(它仍然是实验性的,并且还没有易于下载的测试版)。 SlimerJs总是使用最近的Gecko(即Firefox)引擎,所以很好。

PhantomJS的每个实例都可以有自己的cookies。 This answer(以及关于该问题的其他答案)很好地解释了您的选择。

SlimerJS cookies是类似的,但永久cookie存储在Mozilla配置文件中,所以如果您想要运行多个实例,则需要为每个实例指定明确的配置文件。 (虽然您的聊天应用程序可能只使用会话cookie,但这并不重要。)

无论如何,因为使用cookie,我肯定会运行两个CasperJS实例,而不是尝试使用两个选项卡或两个帧。