2014-08-27 37 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實例,而不是嘗試使用兩個選項卡或兩個幀。