共有ステップ編集画面にて、その共有ステップのステップからさらに共有ステップを作ることができます。そうして共有ステップを入れ子で作成することで、テストの可読性が向上するなどのメリットが得られます。
ただし、その際「共有ステップ変数」には制約があります。
目次
制約
元となる親の共有ステップ変数を、新しく作る子の共有ステップ変数の値として渡すことができません。
コネクタに連結されたステップを使って共有ステップを作成しようとすると、「*行目: 新しい共有ステップに親の共有ステップ変数を含めることはできません。詳細は、こちらをご参照ください。」というエラーが表示され、共有ステップを作ることができません。
この場合、コネクタとの接続を解除する必要があります。
例えば、下の図のように定義された共有ステップの2行目と3行目から新たに共有ステップを作成する場合、「宿泊客」と「予約ボタン」の変数の接続を解除してください。
図1 入れ子の共有ステップに含められないステップの例
回避策(テキスト変数のみ)
入れ子の共有ステップに親の共有ステップ変数を渡したい場合、テキストの変数であれば、「固定値を保存」コマンドを追加し、それと親の共有ステップ変数を接続することで実現できます。
例えば、下の図のように親の共有ステップ変数「宿泊客」の内容は2行目で「${宿泊客}」という変数に保存され、3行目の子の共有ステップ「氏名記入」にある共有ステップ変数「氏名」へ「${宿泊客}」を渡すことで、「氏名エリア」へ入力するテキストを指定することができます。
図2 親から子に変数を渡す方法(親の共有ステップ)
図3 親から子に変数を渡す方法(子の共有ステップ)
図1「入れ子の共有ステップに含められないステップの例」において、「予約ボタン」変数はUI上のボタンなどの要素を受け取ります。こうした「予約ボタン」変数をはじめとしたUI要素変数を、親から子の共有ステップに渡す方法は、現在のところありません。