2011-04-08 52 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(){ 
} 
}