2012-02-16 51 views
1

我有一個標準的Magento網店,我想在我的網格中進行測試。所以我在一個功能強大的VM-Server上安裝了3個虛擬機:Win7,XP和Ubuntu。 如果我在單臺機器上運行測試來測試網上商店,一切正常。它測試基本的結賬程序(將商品放入購物車,輸入客戶數據,訂單等)。 只要我使用Selenium Grid在3臺機器上開始測試,由於出現零星錯誤,50%的測試失敗。這個錯誤出現在結帳過程中的任何地方,它表示雖然物品已經放入購物車,但購物車是空的。如果我在一臺機器上測試,這絕不會發生。Selenium/Magento - 並行化過程中的Sessionproblem

那麼,有沒有人有類似的經歷?任何人都有這個解決方案?我不知道我做錯了什麼。

+1

我不知道Magento,但我發現他們的[demo](http://demo.magentocommerce.com/)。聽起來你的所有用戶都在共享同一個會話。您的虛擬用戶是否都使用相同的憑據登錄? – shamp00 2012-02-16 10:26:05

+0

是的,那是對的。他們都使用相同的憑據登錄。你的意思是,這可能是原因? – tester 2012-02-16 11:55:16

+0

好吧我用相同的憑據手動測試它,確實是這個問題。謝謝!我沒有想到這一點。 – tester 2012-02-16 12:24:17

回答

0

我還沒有使用過硒,但在AWS上使用負載均衡器時出現了類似的問題。

發生這種情況的原因是,當您登錄時,並且如果會話信息存儲在文件系統(而不是數據庫)中,會話文件僅在其中一個虛擬實例上創建。因此,如果在結帳過程中,請求會轉到未存儲會話文件的實例,則會發現購物車爲空,並將您註銷。

嘗試將會話信息存儲在數據庫中,並查看問題是否仍然存在。