應用程式介面測試
OpenFactory 可以在託管桌面測試虛擬機器中執行可重複使用的瀏覽器工作流程。 該應用程式可以由 OpenFactory 部署或託管在測試虛擬機器的任何位置 可以達到。
場景結合了語義操作,例如開啟、點擊、鍵入、按鍵、等待和 使用螢幕截圖、瀏覽器診斷和記錄的判決進行斷言。他們是 最適合已知的使用者流程;使用自動步行器 有限的發現。
建立並運行場景
取得應用程式的測試虛擬機器:
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 驅動虛擬機,
desktop_screenshot、desktop_click、desktop_type 和相關桌面
工具。以下情況使用 start_app_test、record_app_test_step 和 finish_app_test
該手動序列應該成為可審核的運作。
annotate_screenshot 可以將標記框加入證據。註釋說明了
審稿人應該檢查什麼;它本身並不能證明該元素有效。
操作注意事項
- 每個應用程式/主機重複使用測試虛擬機器。擴展測試人員池以進行平行工作 而不是建立任意重複項。
- 預設測試器沒有額外持久的磁碟。僅請求持久性 當狀態必須在重新啟動後繼續存在並接受較長的首次啟動時。
- 客戶端超時不一定會取消後端工作;檢查運作狀況 在重試之前。
- 將報告保密,除非其螢幕截圖和診斷資訊已被公開 審查敏感資料。