1

ファイルからリスト変数を読み取る際に問題が発生しています。3 つの変数を含むファイル (variables.py) があります。

TEST1=212
TEST2=[111, 222, 333, 444, 555, 666]
TESTS3="sadasd"

との両方${TEST1}${TEST3}アクセスできます (変数ファイルから値を取得します)。しかし、 で 2 番目の変数にアクセスしようとすると@{TEST2}[2]、エラーが発生します。

FAIL : Non-existing variable '@{TEST2}[2]'

これは、ファイルから変数を使用しようとした場合にのみ発生します。RIDEでリスト変数を作成すると、簡単にアクセスできます@{Variable}[{$index}]

この構文を試してみると : ${TEST2}[2]、次のようになります:

'[111, 222, 333, 444, 555, 666][2]'

したがって、robotframework は、指定された名前の変数があることを認識していますが、それがリスト変数であることは認識していません。私は何か間違ったことをしていますか?

4

1 に答える 1

7

スカラー変数の値であるリストとリスト変数を明示的に区別するにはLIST__、変数ファイルで @{vars} のプレフィックスを使用する必要があります。詳細については、「 Robot Framework ユーザー ガイド: 変数を直接作成する」を参照し てください。

あなたの場合、これは次のようになります。

LIST__TEST2 = [111, 222, 333, 444, 555, 666]

一般に、変数ファイルのリストを初期化するには 3 つの方法があります。

STRINGS = ["one", "two", "three", "four"]
LIST__STRINGS = ["one", "two", "three", "four"]

これをセクションの構文と混同しないでください*** Variables ***。リストの初期化は次のようになります。

*** Variables ***
@{STRINGS}     | one | two | three | four

次のように、スカラー変数に割り当てられたリスト内の個々の要素にアクセスできます。

${TEST2[0]}
于 2013-01-28T15:03:47.753 に答える