背景:测试过程中,为实现将不同的测试数据批量循环录入,考虑需对已通过读取csv文件方式参数化的脚本进一步地参数化,示例代码如下:
import csv from selenium import webdriver data_set = r'C:\test.csv' data = csv.reader(file(data_set,'rb')) def test_insert(): driver = webdriver.Chrome()
driver.get(www.mytest.com) # 每条待录入的数据共四个字段 info0 = 0 info1 = 1 info2 = 2 info3 = 3 for record in data: # 循环5次,即有5条数据待录入 for x in xrange(0,5): driver.find_element_by_id("telephone").send_keys(record[info0]) driver.find_element_by_id("company").send_keys(record[info1].decode('gb2312')) driver.find_element_by_id("description").send_keys(record[info2].decode('gb2312')) driver.find_element_by_id("service").send_keys(record[info3].decode('gb2312')) info0 = info0 + 4 info1 = info1 + 4 info2 = info2 + 4 info3 = info3 + 4
test.csv文件局部内容如下:
13000000001,A公司,A公司简介,A公司提供的服务,13000000002,B公司,B公司简介,B公司提供的服务,13000000003,C公司,C公司简介,C公司提供的服务,...
注:如果录入的数据含有中文,可以decode一下,防止因可能的编码问题导致脚本执行失败。