美文网首页Robot Framework测试框架
Robot Framework 获取外部数据

Robot Framework 获取外部数据

作者: adonisjph | 来源:发表于2016-07-05 09:55 被阅读1550次

    领导要求删除这个文件,在用例执行的时候,直接从外部的excel读取变量文件,于是用python+xlrd写了下,记录下

    excel文件

    Paste_Image.png

    当Excute为Yes时,导入此行的数据。

    #coding=utf=8
    import xlrd
    import json
    import sys
    import os
    reload(sys)
    sys.setdefaultencoding("utf-8")
    
    
    def get_data():
        ff = xlrd.open_workbook('EnvronmentVariable.xlsx')
        table = ff.sheet_by_index(0)
        data = {}
        for i in range(1, table.nrows):
            if table.cell(i, 1).value != 'Yes':
                continue
            data['browser'] = str(table.cell(i, 2).value)
            data['url'] = str(table.cell(i, 3).value)
            data['dbhost'] = str(table.cell(i, 4).value)
            data['dbport'] = str(int(table.cell(i, 5).value))
            data['dbuser'] = str(table.cell(i, 6).value)
            data['dbpassword'] = str(table.cell(i, 7).value)
            data['dbapi'] = str(table.cell(i, 8).value)
            data['blacksourcetype'] = str((table.cell(i, 9).value))
            data['sourcetype'] = str(int(table.cell(i, 10).value))
            data['statustype'] = str(int(table.cell(i, 11).value))
            data['addnametype'] = str(int(table.cell(i, 12).value))
            data['dbuser_con'] = str(table.cell(i, 13).value)
            data['dbpwd'] = str(table.cell(i, 14).value)
            data['db_ol_portal'] = str(table.cell(i, 15).value)
            data['db_ol_portal_pwd'] = str(table.cell(i, 16).value)
        return data
    
    if __name__ == '__main__':
        print get_data()
    
    

    需要注意的是,xlrd会把提取出来的数字添加上小数点,所以就直接转成str。

    还需要在RF中写一个关键字,然后在suite setup中设置一下就好了

    Paste_Image.png Paste_Image.png

    相关文章

      网友评论

      • 8f4a3308dd3e:&{a} test.Get Data 请问一下这一句话啥意思?
        8f4a3308dd3e:@波_0b47 多谢,基本上实现了上面的效果,放在框架里感觉不太好实现可配置,只能每个层级里放一个了。
        波_0b47: @葱_fd1b getdata是刚刚写的函数

      本文标题:Robot Framework 获取外部数据

      本文链接:https://www.haomeiwen.com/subject/wdshjttx.html