程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了读取 csv 文件以在机器人框架中进行数据驱动测试大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决读取 csv 文件以在机器人框架中进行数据驱动测试?

开发过程中遇到读取 csv 文件以在机器人框架中进行数据驱动测试的问题如何解决?下面主要结合日常开发的经验,给出你关于读取 csv 文件以在机器人框架中进行数据驱动测试的解决方法建议,希望对你解决读取 csv 文件以在机器人框架中进行数据驱动测试有所启发或帮助;

我目前正在尝试使用 python customlibrary 对来自 csv 文件的机器人框架进行一些数据驱动测试。不过,我遇到了一些问题,如果有人能指出我正确的方向,我将不胜感激 这是我得到的错误:

解析变量 '${Tlogdata.0}' 失败:语法错误:解析时出现意外 EOF(第 1 行)

我要处理的 csv 目前有两条记录(我试过没有,有单码和双码):

1-KR8P27,11.0,1000
1-KR8P27,12.0,1001

我怀疑问题出在 customlibrary 上。我尝试了很多调整我的代码,但是根据我的发现和我的 Python 知识(这当然是非常基础的),我找不到任何问题。这是我目前拥有的:

import csv


def read_csv_file(fileName):
data = []
with open(filename,) as csvfile:
    reader = csv.reader(csvfilE)
    for row in reader:
        data.append(row)
return data

我在 Robot Framework 中使用了更多关键字来使用这个自定义库从我的 csv 中获取数据。然我怀疑我的 Python 代码是问题所在,但我仔细检查了所有我可能忽略的内容:

在 datamanager 关键字文件中,我创建了以下关键字:

 Get CSV Data
  [Arguments]  ${filePath}
  ${Data} =  read csv file  ${filePath}
  [Return]  ${Data}

比我用 for 循环创建了一个 'looPing' 关键字:

check multiple results
[Arguments]    ${tlogdatas}
FOR    ${tlogdata}    IN    ${tlogdatas}
    check result TLOG3    ${tlogdata}

我在循环中调用的关键字已经在没有数据驱动设置的测试用例中使用,并且有效。只有变量的命名不同才能使其与数据驱动的事物一起工作。关键字如下所示:

check result TLOG3
  [Arguments]    ${Tlogdata}
  ${queryResults} =    query       SELEct x_ord_pts_earn,@R_329_10586@l_amt from sIEbel.s_order where 
  contact_ID = ${Tlogdata.0} and @R_329_10586@l_amt = ${Tlogdata.1}    and X_ORD_PTS_earn = ${Tlogdata.2}
  # log     @{queryResults[0][1]}
   ${dbvalue} =    set variable    ${queryResults}
   ${DB ordptsearn} =    set variable    ${queryResults[0][0]}
   ${DB contact_ID} =    set variable    ${queryResults[0][1]}
   should be equal as Integers     ${DB ordptsearn}     ${Tlogdata.2}
   should be equal as Strings      ${DB contact_ID}     ${Tlogdata.1}
    END

在我的测试用例中,我定义了一个变量,该变量从我的 datamanager 关键字中获取其结果并使用 looPing 关键字遍历 csv 值:

check TLOG results from CSVfile
${Tlogdata} =    DataManager.Get CSV Data    ${TLOG_RESulTS_CSVPath}
 TLOG.check multiple results    ${Tlogdata}

显示根据报告文件获取的 csv 值也可能是值得的:

${Tlogdata} = [["'1-KR8P27'","'11.0'","'1000'"],["'1-KR8P27'","'12.0'","'1001'"]]

我希望这有点清楚,我明白这是退出一些文字。但我不能 100% 确定问题出在我的脚本中。我希望有人能指出我正确的方向。

解决方法

您的列表索引错误。你应该有 ${Tlogdata.0} 等,而不是 ${Tlogdata[0]}

这是一个简单的例子

*** Test Cases ***
Test
    ${Tlogdata}=    Evaluate    [["'1-KR8P27'","'11.0'","'1000'"],["'1-KR8P27'","'12.0'","'1001'"]]
    Log    ${Tlogdata[0]}
    Log    ${Tlogdata[1]}
    Log    ${Tlogdata[0][1]}
    Log    ${Tlogdata[1][1]}

大佬总结

以上是大佬教程为你收集整理的读取 csv 文件以在机器人框架中进行数据驱动测试全部内容,希望文章能够帮你解决读取 csv 文件以在机器人框架中进行数据驱动测试所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:csv读取