2011-02-14 109 views
3

這是一個新手問題,但是......有沒有一種方法可以使動作在Selenium IDE中可選?我將提供一個用例。有沒有一種方法可以使動作在Selenium IDE中可選?

在我測試的應用程序中,用戶在每個會話開始時看到一個「嗨,您在登錄時同意ToS」模式窗口。他們必須點擊確定才能繼續,直到下一次會話纔會再次看到窗口。根據我目前看到的情況,我需要每天都有一個測試套件用於第一次測試,而其他所有測試套件都需要第二套測試套件。第二個套件完全相同,只是它沒有「單擊可以關閉初始模態窗口」步驟。另外,我可以記住,我每天第一次測試運行會失敗,並且我必須再次運行測試。

這兩個「解決方案」似乎不必要的尷尬。我可以讓click命令是可選的嗎?

回答

1

如果您使用cookie來決定是否隱藏ToS對話框,您可以檢查是否設置了某個Cookie,如果有,請跳過點擊。

我還沒有使用過多的selenium IDE,但是我認爲如果你使用的是編程語言,檢查會更容易。我不確定如何在HTML測試中做到這一點。

如果您使用的是HTML,您可以查看Selenium IDE Flow Control並查看它是否可以滿足您的需求。我沒有用過這個,但是如果看起來像它支持if語句。你可以使用verifyCookie來檢查cookie是否存在。

希望有所幫助。

+1

嗯,好主意。我會試試這個。我認爲你不知道檢查cookie設置的命令? +1方式。 – Pops 2011-02-15 22:02:27

+0

當你說「餅乾設置」,你是什麼意思?要查看爲頁面設置的Cookie,您可以使用[getCookie](http://release.seleniumhq.org/selenium-remote-control/0.9.0/doc/java/com/thoughtworks/selenium/Selenium.html# getCookie%28%29) – 2011-02-16 02:23:51

3

也許過期了,但對於未來的搜索者。

你可以使用IDE中的如果ENDIF語句。

0

另一個非常有用的流量控制插件的IDE是SelBlocks

它會給你使用的能力:if/else/for/foreach/while從XML文件中讀取變量,甚至一種方式。

1

正如aj.esler指出的那樣,Selenium ID流量控制對我來說是一個很好的解決方案。 這裏是Firefox add on 我使用gotoif,這裏是一個關於如何使用它的例子。當skip值爲1時,它將進入label = jump行,不會執行從gotoif到label = jump的所有內容。 enter image description here

3

使用下面的代碼創建一個名爲user-extensions.js的JavaScript文件。然後進入Selenium IDE選項對話框並選擇你的user-extensions.js文件,重新啓動Selenium,你可以選擇TryClick,它和Click一樣,但是可以抑制任何錯誤。

Selenium.prototype.doTryClick = function(locator) { 
    try { 
     return Selenium.prototype.doClick.call(this,locator); 
    } catch(err) { return null; } 
}; 
0

使用http://wiki.openqa.org/display/SEL/flowControl插件。 做這樣的事情:

1.storeElementPresent | //button[@name="cookie_law_accept"] | cookie_law 
2.goToIf | storedVars['cookie_law']!=true | end 
3.click | //button[@name="cookie_law_accept"] 
4.label | end 

說明: 1。如果元素存在,它將被存儲爲值爲「true」的「cookie_law」 2.如果cookie_law不是「真」 - 轉到標籤「結束」 - 其他方式轉到下一步 3.單擊cookie接受按鈕(只有當它s在這裏輸入代碼present because it it s不 - 你去「結束」標籤,你跳過這個命令) 4.你去這裏,如果沒有cookie法律按鈕:)

相關問題