Несмотря на то, что ваш скрипт содержит сравнение списков, при ближайшем рассмотрении мне кажется, что это не сравнение списков, а сравнение значений, которое должно привести к сообщению типа
In Row Столбец «1» Значение «BBBB» 2222! = 4444.
Ниже приведен пример, в котором сравниваются значения двух списков, а имя столбца извлекается из третьего при генерировании сообщения об ошибке:
*** Settings ***
Library Collections
*** Test Cases ***
Compare List
${ListColumns} Create List AAAA BBBB CCCC
${ListA} Create List 1111 2222 3333
${ListB} Create List 1111 4444 3333
FOR ${i} IN RANGE 0 2
run keyword and continue on failure
... should be equal as Strings
... @{ListA}[${i}]
... @{ListB}[${i}]
... values=False
... msg=In Row "${1}" Column "${ListColumns}[${i}]" value @{ListA}[${i}] != @{ListB}[${i}].
END
Этот скрипт приведет к выводу этой консоли:
==============================================================================
Compare List | FAIL |
In Row "1" Column "BBBB" value 2222 != 4444.
------------------------------------------------------------------------------
SO004.Compare | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================
SO004 | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================
Имея это в виду, вы можете применить это к своему сценарию таким образом. Помните, что приведенный ниже код не протестирован, но должен работать.
Open First Excel File
Connect To Database pymysql testdb root rootpass localhost 3306
FOR ${i} IN RANGE 2 67
# Get the value and column
open excel document ${path1} ${i}
${ColumnName} read excel cell 1 ${i} Sheet2
${Excelvalue} read excel cell 2 ${i} Sheet2
# This is a nested list where the @{queryResults}[0][0] means the first column from the first row.
@{queryResults} query select a_${i} from test_table where a_1 = 'filename1'
run keyword and continue on failure
... should be equal as Strings
... @{ListA}[${i}]
... @{ListB}[${i}]
... values=False
... msg=In Row "${1}" Column " ${ColumnName}" value ${Excelvalue} != @{queryResults}[0][0].
END