自動テストでカテゴリ/サブカテゴリといった従属関係あるレコードのテストが通らない場合の解決
問題
Automated Test Frameworkで新しいテストを作成。
入力フォームの一方がStringで、それの値に紐づく形でReferenceの入力項目がある場合には以下のエラーが出る。(カテゴリ/サブカテゴリといった従属関係あるレコード)
Unable to set field 'subcategory' to value 'laptop'. Value 'laptop' is not currently a valid choice.
有効でない選択肢が表示されている。動やったらテストが通るのか?
解決
この問題は、タイミングにある。カテゴリーがロードされると、サブカテゴリーの値をロードするのに時間がかかるため(ATFの外でも)、ATFがサブカテゴリーを設定しようとしたとき、実際にはまだ空であり、このようなエラーが発生します。
この問題は、値の設定処理を2つのステップに分けることで回避できました(基本的なカテゴリーとサブカテゴリーを設定した場合)。ステップ1でカテゴリーを設定し、ステップ2でサブカテゴリーを設定します。
→Set variable values(SP)を2ステップにすること。
[参考]Automated Test Framework error