Robotframework:如何读取csv文件中的随机行?

时间:2016-11-10 08:49:43

标签: csv robotframework

我在python中创建了这段代码来读取CSV文件中的一行:

import csv

class CsvLibrary(object):
    ROBOT_LIBRARY_SCOPE = 'Global'

    def __init__(self):
        print 'Read Cell Value in CSV File'

    def read_cell_value_by_row(self,filename,rownumber):
        #read an existing csv file
        userdata=[]
        user={}
        with open(filename,'rb') as csvfile:
            #read csv file as dictionary object
            reader=csv.DictReader(csvfile)
            #read and store it as list of dictionary items
            userdata=list(reader)
            #get specific list item as a dictionary object
            user=userdata[rownumber-1]
            #return the dictionary object
            return user

然后在robotframework中我做了这个脚本:

    ${row_number}=    Convert To Integer    1
    ${user_info}=    read_cell_value_by_row    UserInfo.csv    ${row_number}
    ${username}    Get From Dictionary    ${user_info}    username
    Log    ${username}
    ${password}    Get From Dictionary    ${user_info}    password
    Log    ${password}
    Input Text    ${login_username_textbox}    ${username}
    Input Text    ${login_password_textbox}    ${password}

但我不知道如何读取CSV文件中的随机行,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

似乎你大部分都在那里,你需要的只是生成随机数?为了简单起见,我建议使用字符串库,但是您需要控制数字以确保它在您想要的范围内。

http://robotframework.org/robotframework/latest/libraries/String.html

${RANDOM_NUMBER}=    Generate Random String    2    [NUMBERS]

以上将提供介于00和99之间的数字,确保00当然处理。

如果您需要唯一的数字,我通过搜索找到的一个非常好的选择来自@ ombre42 - Robot Framework: Generating Unique Random number

然而,听起来你并不需要它们是唯一的。