Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试聊天web应用程序_Javascript_Socket.io_Chat_Functional Testing - Fatal编程技术网

Javascript 如何测试聊天web应用程序

Javascript 如何测试聊天web应用程序,javascript,socket.io,chat,functional-testing,Javascript,Socket.io,Chat,Functional Testing,我正在开发聊天应用程序,在服务器上使用node.js socket.io模块,在客户端使用javascript。随着它变得越来越复杂,我开始厌倦通过跨浏览器点击来测试不同的使用场景。现在我使用不同的浏览器来分离cookies。所以在Firefox中有一个聊天参与者,在Opera-second中,等等 因此,我的问题是: 我能以某种方式将其自动化吗? 我听说过Phantom JS、Selenium WebDriver等无头测试引擎,但我不知道如何在不同浏览器之间编写测试。事实上,我确实需要分离co

我正在开发聊天应用程序,在服务器上使用node.js socket.io模块,在客户端使用javascript。随着它变得越来越复杂,我开始厌倦通过跨浏览器点击来测试不同的使用场景。现在我使用不同的浏览器来分离cookies。所以在Firefox中有一个聊天参与者,在Opera-second中,等等

因此,我的问题是:

我能以某种方式将其自动化吗?

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

也许我无法向谷歌解释我的问题:)关于这个问题的所有答案都意味着跨浏览器开发和测试

任何帮助都将不胜感激

如果您尝试走Casper/Phantom/SlimerJS路线,那么在中显示的答案可能会有用。我并没有将其标记为重复,因为您的问题更一般,而这是关于如何同步两个CasperJS实例的问题;它也不是专门关于socket.io的

注意:如果使用Phantom测试Web套接字,您将需要使用Phantom 2.x(它仍然是实验性的,还没有一个易于下载的测试版),因为Phantom 1.x使用的是旧的WebKit。SlimerJs总是使用最新的Gecko(即Firefox)引擎,所以这很好

PhantomJS的每个实例都可以有自己的cookie。(以及关于这个问题的另一个答案)很好地解释了你的选择

它们类似,但持久cookie存储在Mozilla配置文件中,因此如果要运行多个实例,则需要为每个实例指定一个显式配置文件。(尽管您的聊天应用程序可能只使用会话cookie,但在这种情况下,这并不重要。)


无论如何,在使用cookies时,我肯定会运行两个CasperJS实例,而不是尝试使用两个选项卡或两个框架。

如果在这样的环境中发生这种情况,那将是非常好的:@Blubberguy22我不太明白,您使用此扩展是什么意思。你能进一步解释一下你的想法吗?这只是一个chrome扩展,允许两个标签相邻打开。我是说,如果这些标签可以与单独的cookie一起操作,那就太好了。