AttributeError: 'TestCase' 对象没有属性 'lineno',当我尝试使用数据驱动程序库运行测试时

问题描述

我想用 DataDriver 库做一个测试,但它似乎不起作用,我有以下错误

[ ERROR ] Calling method '_start_suite' of listener 'DataDriver' Failed: AttributeError: 'TestCase' object has no attribute 'lineno'
first test case exemple                                               | FAIL |
Test case contains no keywords.

这是我的测试文件。机器人:

*** Settings ***  
Library           OperatingSystem
Library           Selenium2Library
Library           DataDriver   file=../../Resources/data_test.csv
 
Suite Teardown    Close browser
Test Template     Open web site 

*** Test Cases ***             
first test case exemple        ${URL}    ${browser}     
    
 
*** Keywords *** 
Open web site
    [Arguments]    ${URL}    ${browser}    
    Open browser    ${URL}    ${browser}    

我的 file.csv 包含变量 ${URL}${browser}

有人可以帮我吗?

解决方法

在 Robot Framework 4.0 中引入了向后不兼容的更改:Running and result models have been changed。这一变化的一部分如下:

在 4.0 中,robot.running.model.TestCase 类具有 lineno 属性。
在 4.0 之前,例如在 3.1.2 中,robot.running.model.TestCase 类没有 lineno 属性。

鉴于 DataDriver 想要使用 lineno,我会说您的框架版本低于 4.0,您需要升级到最新版本。