aran
(jon)
1
リトライスコープの条件がうまく使えずに悩んでおります。
やり方を教えて欲しいです。
︎やりたいこと
商品A、商品B、商品Cについて、いずれかが注文確認画面まで進んだらメール通知
︎前提条件の仕様
•画面の遷移としては注文クリック→注文確認画面
•在庫がない場合、注文クリックしたあと、画面遷移しない
︎今回行ったこと
リトライスコープの中に、縦のシーケンスでA、B、Cの注文クリックまでをそれぞれ作成し、A→B→Cの順で配置。
条件に、アプリのステートを確認で画面の「注文確認」の要素をターゲット設定。出現する要素を選択。出現した場合のフローにメール通知を作成。
注文確認画面にいかなければリトライになる動きを想定。
︎確認したこと
わざと注文確認画面まで進む商品をA、B、Cいずれにの位置に配置して動作確認をしてみましたが、いずれの場合においても条件は満たしていない判定でリトライになってしまいました。
「こんにちは、 Retry Scope アクティビティの条件ブロックで使用されるアクティビティと要素を再指定することをお勧めします。アクティビティが適切に設定されていないと、要素を見つけられずに再試行が失敗する可能性があります。
「Check appstate activity」のプロパティを確認してみてください。以下のような異なるアプローチを試してみてください:
- 可視性プロパティの有効化および無効化を試してみてください。
- タイムアウトの変更を検討してみてください。」
@aran
aran
(jon)
3
再指定、それから、可視性プロパティの有効化、タイムアウトの変更いずれも試してみましたが、要素を見つけれらずやはり駄目でした。
1つ試してみたことがあり、条件で作成したアプリのステート確認をコピーし、注文クリックの配下に配置したところ要素を出現を検知しtrueの動作が動きました。
条件に設置すると正常に動作しません。どうすればよいでしょうか?
Yoichi
(Yoichi)
4
こんにちは
この要件ですと基本的にはリトライスコープを使わない方が良いように思えます。
在庫がないのであればリトライしても、結果は変わらないのではないでしょうか?
一般的にはこのようなビジネス例外についてはリトライでリカバーできるケースは
少ないと思われます。一方システム例外:例えばクリックを空振りした、
過負荷で画面が遷移しないようなケースでは有効かもしれません。
わざと注文確認画面まで進む商品をA、B、Cいずれにの位置に配置して動作確認をしてみましたが、いずれの場合においても条件は満たしていない判定でリトライになってしまいました。
セレクターが正しくないのではないでしょうか?
条件内部でブレイクポイントを設定し、一旦ワークフローを中断、その時セレクターエディタで検証した時、セレクターは有効になっていますでしょうか?