あなたの状況について私が理解したところによると、これはロボットにとって簡単な仕事ではありません。ただし、ユニバーサル テスト スクリプトとケース固有の Excel ファイルを用意することで、これを処理するかなり簡単な方法があります。
- Excel スプレッドシートに
FieldName
とTabName
を入力して、ページ上の入力を見つけられるようにします。これを行う私の方法は次のようになります。

ExcelLibrary を使用して、TabName、FieldName、および Value をリストに取得します (使用方法については、あなたの方が慣れているようですので、お任せします)。このステップの結果として、3 つのアイテムのリストが表示されます。${SingleFieldOfSingleUser} # ['Tab1', 'Field1', 'aaa']
これらのフィールドのリストを作成します。
\ Insert Into List ${SingleUser} ${ColIndex} ${SingleFieldOfSingleUser}
可能なすべての入力フィールドを手動で調べる代わりに、ユニバーサル カスタム キーワードを使用します。
:FOR ${UserAttribute} IN @{SingleUser}
\ Input Attribute Into User Form ${UserAttribute}
キーワードは次のようになります。
Input Attribute Into User Form
[Arguments] ${Attribute}
# Try switching to the correct Tab. If already there, don't break upon error
Run Keyword And Ignore Error Click Element ${Attribute[0]}
# Input Value
Input Text ${Attribute[1]} ${Attribute[2]}
利益!更新するフィールドに応じて、任意の数の列を含む Excel スプレッドシートを提供できるようになりました。
ここに、完全なコード リストのモックアップを残しておきます。
*** Keywords ***
(...)
Read Column Data For User
${SingleUser} Create List
:FOR ${ColIndex} IN RANGE ${COLCOUNT}
( ... Excel-related code here ... )
\ ${SingleFieldOfSingleUser} Create List ${TabName} ${FieldName} ${Value}
\ Insert Into List ${SingleUser} ${ColIndex} ${SingleFieldOfSingleUser}
:FOR ${UserAttribute} IN @{SingleUser}
\ Input Attribute Into User Form ${UserAttribute}
(...)
Input Attribute Into User Form
[Arguments] ${Attribute}
Run Keyword And Ignore Error Click Element ${Attribute[0]}
Input Text ${Attribute[1]} ${Attribute[2]}
P.s。これを機能させるのにそれほど多くの FOR ループやリストは必要ありませんが、隠れた個人的な価値がある場合に備えて、元のコーディング パターンにできるだけ近いソリューションを作成しようとしました。