2013-10-20 12 views
0

現在我哈瓦一個關於Web GUI TA要求如何模擬20個用戶在網頁GUI測試自動化的同時點擊一個按鈕

我想模擬一些用戶(20-30)點擊一個按鈕在同一並評估當時Web GUI的性能。

我以前用RobotFrameWork + Selenium庫做Web Gui TA,但據我所知。硒庫一次只能處理一件衣物,所以我現在不知道該怎麼辦。

你能給我一些建議嗎?需要使用另一個庫或框架?

回答

0

Selenium有一個「網格」選項,您可以使用它來配置運行多個瀏覽器的許多實例。

http://www.seleniumhq.org/projects/grid/ http://www.seleniumhq.org/docs/07_selenium_grid.jsp

網格,您可以:

規模由幾臺機器上(並行執行) 管理從一箇中心點多個環境分配的測試,因此很容易 運行測試對抗瀏覽器/操作系統的巨大組合。通過允許您實施自定義的 鉤子來利用虛擬基礎架構,可以最大限度地減少網格的維護時間。

簡而言之,您將創建一個管理事物的「集線器」,然後每個「節點」可以根據集線器的要求執行測試。

但是,請考慮這可能不是最好的路線。像多機械化可能會更有用:http://testutils.org/multi-mechanize/

這將允許你有許多用戶「點擊」按鈕,但不是通過瀏覽器,而是通過直接的HTTP調用。這可能更適合多用戶同時「無頭」負載測試,這是我認爲你正在嘗試做的。

+0

我不確定這會解決他的問題,因爲他希望點擊是同步的。沒有證據證明他們會同時發生 – sircapsalot

+0

TBH我不太明白這個問題。另一種方法是將javascript添加到頁面,在設定的時間點擊按鈕,然後加載30個標籤。不確定實際需要從問題中進行測試。 –

+1

是的,我也不確定。聽起來像他想要負載測試。那應該不是來自硒鼓 – sircapsalot

0

我對這個問題略有困惑:

你想測試GUI嗎?如果它是「這個按鈕使下拉菜單出現」的東西,那麼多少用戶同時進行操作並不重要,它可以一直工作,也可以不工作。

你想測試負載下的服務器嗎?如果是這樣,那麼硒將工作,但有更好的工具。我已經成功地使用了JMeter,但是在這裏有一個很好的列表:http://performance-testing.org/

最後,你想同時在同一瀏覽器上的同一頁上按20個不同的按鈕嗎?如果是這樣,這對於硒來說是不可能的,並且它也不是標準用例。

+0

不是20個不同的按鈕。同時按下20個不同瀏覽器同一頁面上的一個按鈕。 – Young

+0

爲什麼?它是否把負載放在服務器上?如果是這樣,我會建議使用不同的工具。 –

2

就像其他人所說的,在這種情況下你想要做的不是UI測試,而是壓力/負載測試。您應該可以輕鬆嘗試Gatling。首先記錄與點擊按鈕相關的http請求。然後,你寫一個簡單的場景,一次啓動這個請求20次。例如:

setUp(scn.inject(atOnce(20 users))) 。協議(httpConf)

相關問題