2014-03-04 85 views
0

我有一個測試用例,它會停止並拋出一個錯誤「找不到元素」。如何重啓在selenium IDE中執行測試用例

現在我想要做的是,我想selenium IDE刷新頁面並從頭開始運行腳本。

我想知道的是,有什麼方法可以在Selenium IDE中實現這一點。如果是,如何?

回答

0

是的,當然。首先,你應該有一個try-except-else結構。然後你應該有一個while True循環,並指定NoSuchElementException從循環開始繼續。在except塊的第一行中,您輸入一行作爲driver.refresh()。在else區塊你break的循環並考慮你應該有兩個except區塊;一個用於NoSuchElementException,另一個用於其他例外。在第二個,你應該break循環我猜。下面是一個示例代碼:

import selenium.common.exceptions as SeleniumExceptions 
from selenium import webdriver 
import sys 
driver = webdriver.Firefox() 
while True: 
    try: 
     element = driver.find_element_by_id('some_id') 
     # do whatever you want 

    except SeleniumExceptions.NoSuchElementException: 
     driver.refresh() 
     continue 

    except: 
     print sys.exc_info() 
     break 

    else: 
     break 

EDIT1:

想想看,如果你有一個特定的frameiframe工作,你應該切換回它driver.switch_to_frame(driver.find_element_by_id('frame_id'))和繼續工作;或者如果您認爲您應該等待框架加載,您可以使用此代碼:

from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import WebDriverWait 
WebDriverWait(driver, timeout=10).until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_id('frame_id'))) 
+0

非常感謝zeinab爲您提供的寶貴回覆。我會馬上嘗試! – LeonarD

+0

zeinab我想這可能是webdriver代碼,不是嗎? 我想在SELENIUM IDE中做到這一點,你能幫忙嗎? – LeonarD

+0

我對SELENIUM IDE沒有太多的工作,但也許我可以嘗試找到一種方法。如果我這樣做,我會告訴你。 –

相關問題