CSV предназначен только для "плоских" структур, поэтому попытка смешать это с JSON, по моему честному мнению, слишком амбициозна. При необходимости поищите другой фреймворк :)
При этом я вижу 2 варианта:
a) используйте правильные кавычки и экранирование в CSV
b) обратитесь к JSON files
Вот пример:
Scenario Outline:
* json foo = foo
* print foo
Examples:
| read('test.csv') |
И test.csv
это:
foo,bar
"{ a: 'a1', b: 'b1' }",test1
"{ a: 'a2', b: 'b2' }",test2
Я оставляю это вам в качестве упражнения, если вы хотите сбежать двойные кавычки. Это возможно.
Вариант (b) - вы можете обратиться к автономным JSON файлам и прочитать их:
foo,bar
j1.json,test1
j2.json,test2
И вы можете сделать * def foo = read(foo)
в своей функции.