アプリの UI テスト
OpenFactory は、管理されたデスクトップ テスター VM で再利用可能なブラウザ ワークフローを実行できます。 アプリケーションは OpenFactory によってデプロイされるか、テスター VM の任意の場所にホストされます。 到達できる。
シナリオでは、開く、クリック、入力、キー、待機、などのセマンティック アクションを組み合わせます。 スクリーンショット、ブラウザ診断、記録された判定を使って主張します。彼らは 既知のユーザー フローに最適。 自律歩行器を使用してください 限界のある発見。
シナリオを作成して実行する
アプリのテスター VM を取得します。
ensure_tester_vm(app="my-app", app_url="https://staging.example.com")次に、ステップに意味のある画面上のラベルが使用されているシナリオを保存します。
[
{ "action": "open_url", "value": "${APP_URL}" },
{ "action": "type", "target": "email field", "value": "${EMAIL}" },
{ "action": "type", "target": "password field", "value": "${PASSWORD}" },
{ "action": "click", "target": "Sign in" },
{ "action": "assert_text", "expect": "Dashboard" },
{ "action": "assert_no_error" }
]create_app_scenario を使用し、返されたシナリオ ID を次のように実行します。
run_app_scenario。最初の実行では、OmniParser を通じて要素が解決されます。後で
実行では、強化された要素キャッシュを再利用し、変更されたステップのみを再解決できます。
結果を診断するときに、各ステップがキャッシュされたか解析されたかを確認します。
追い越し走の意味
レポートは次の場合にのみ検証としてカウントされます。
- ステータスは
passedです。 - 意図した環境とリビジョンを対象としていました。
- ステージング保護とアプリケーションのログインが完了していること。そして
- アサーションは、ログイン ページや保護ページではなく、製品内で実行されました。
合格シナリオでは、宣言されたフローとアサーションのみが示されます。それはあります アプリケーションの完全な正確性、アクセシビリティ、セキュリティ、または クロスブラウザーの動作。
変数とシークレット
ステップの参照値は ${VAR}、TOTP シードは ${totp:VAR} です。非秘密
デフォルトはシナリオに応じて変化する可能性があります。シークレットは所有者のものに保存できます
シナリオ作成時の暗号化キーストア。単一実行オーバーライドが渡されました
から run_app_scenario はその実行に対してマージされ、永続化されません。
ステップテキスト、シナリオにリテラルのパスワード、トークン、または TOTP シードを配置しないでください。
説明、スクリーンショット、または問題のエクスポート。電子メールで送信されたワンタイム コードの場合、
email_otp アクションには、アクティブで明示的に接続された Gmail 統合が必要です
シナリオオーナーへ。
有用なアサーション
assert_textは、予想される表示テキストを検証します。assert_no_errorは、組み込みまたは提供されたエラー フレーズをチェックします。assert_visualは、知覚ハッシュを保存されたベースラインと比較します。assert_stableは、予期しないちらつきや消失が発生する領域をサンプリングします。assert_progressは、ストリーミング リージョンが一定期間変化し続けることを確認します。 最低期間。networkは、回復テストのためにテスター VM ネットワークを中断して復元できます。
視覚的および時間的アサーションはヒューリスティックです。安定したものに対してしきい値を調整する ドリフトを製品の欠陥として扱う前に、データをテストし、キャプチャしたフレームを検査します。
直接および記録されたテスト
探索的な作業の場合は、desktop_open_url で VM を駆動します。
desktop_screenshot、desktop_click、desktop_type、および関連するデスクトップ
ツール。次の場合には、start_app_test、record_app_test_step、finish_app_testを使用します。
その手動シーケンスは監査可能な実行になるはずです。
annotate_screenshot はラベル付きボックスを証拠に追加できます。注釈で説明します
査読者が検査すべきもの。それ自体は要素が機能したことを証明するものではありません。
操作上の注意事項
- テスター VM はアプリ/ホストごとに再利用されます。並列作業用にテスター プールを拡張する 任意の複製を作成する代わりに。
- デフォルトのテスターには追加の永続ディスクがありません。永続性のみをリクエストする 状態が再起動後も存続し、より長い初回起動を受け入れる必要がある場合。
- クライアントのタイムアウトによって、必ずしもバックエンドの作業がキャンセルされるわけではありません。走行を検査する 再試行する前に。
- レポートのスクリーンショットや診断が公開されていない限り、レポートを非公開にしてください。 機密データがないか審査されます。