Skip to Content
Testing應用程式介面測試

應用程式介面測試

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_screenshotdesktop_clickdesktop_type 和相關桌面 工具。以下情況使用 start_app_testrecord_app_test_stepfinish_app_test 該手動序列應該成為可審核的運作。

annotate_screenshot 可以將標記框加入證據。註釋說明了 審稿人應該檢查什麼;它本身並不能證明該元素有效。

操作注意事項

  • 每個應用程式/主機重複使用測試虛擬機器。擴展測試人員池以進行平行工作 而不是建立任意重複項。
  • 預設測試器沒有額外持久的磁碟。僅請求持久性 當狀態必須在重新啟動後繼續存在並接受較長的首次啟動時。
  • 客戶端超時不一定會取消後端工作;檢查運作狀況 在重試之前。
  • 將報告保密,除非其螢幕截圖和診斷資訊已被公開 審查敏感資料。

相關