2011-04-08 66 views
1

我記錄了一個使用Selenium IDE的腳本,它包含點擊鏈接,現在我想添加循環來多次運行相同的腳本,爲此我將腳本轉換爲python但無法添加循環。請幫助我在這點上。在硒中循環

回答

2

下面有一些文本從硒文檔直接:

數據驅動測試: 數據驅動測試是指使用相同的測試(或測試)多次具有不同的數據。這些數據集通常來自外部文件,即.csv文件,文本文件或可能從數據庫加載。數據驅動測試是一種常用的測試自動化技術,用於驗證應用程序是否適用於許多不同的輸入。當測試設計用於變化數據時,輸入數據可以擴展,實質上創建額外的測試,而不需要更改測試代碼。

# Collection of String values 
source = open("input_file.txt", "r") 
values = source.readlines() 
source.close() 
# Execute For loop for each String in the values array 
for search in values: 
    sel.open("/") 
    sel.type("q", search) 
    sel.click("btnG") 
    sel.waitForPageToLoad("30000") 
    self.failUnless(sel.is_text_present("Results * for " + search)) 

希望它能幫助。在更多信息:Selenium Documentation

最好的問候,

聖保羅布埃諾。

0

嘗試使用「for x in range(0,5):」設置與此示例類似的循環,以設置您希望迭代的次數。

def test_py2webdriverselenium(self): 
     for x in range(0,5): 
      driver = self.driver 
      driver.get("http://www.bing.com/") 
      driver.find_element_by_id("sb_form_q").click() 
      driver.find_element_by_id("sb_form_q").clear() 
      driver.find_element_by_id("sb_form_q").send_keys("testing software") 
      driver.find_element_by_id("sb_form_go").click() 
      driver.find_element_by_link_text("Bing").click() 
0

我想這對於某些情況下,我有一點信息:

list = [''' list containing all items '''] 
index = 0 
while True: 
    try: 
     # do what you want with list[index] 
     index += 1 
    except: 
     # index exception occured 
     break 
0

在java中,你可以如下做到這一點:

# import packages or classes 

public class testClassName(){ 

before test Methods(){ 
} 

@Test 
public void testMethod(){ 
    for(int i =0, i<=5, i++){ 
     WebElement element = driver.findElementById("link_ID"); 
     element.click(); 
     waitForPageLoaded(5); 
    } 
} 

after Test Method(){ 
} 
}