1. 程式人生 > >GUI自動化測試的前途在哪裡?

GUI自動化測試的前途在哪裡?

降低自動化測試的門檻是很多自動化測試工具提供商努力的目標。尤其是對於圖形介面的自動化測試,就更是這樣。 於是,“錄製與回放”就成了圖形介面自動化測試的主流。不論是 Web 介面的,還是基於 Windows API 介面的,還是 Java GUI 介面的,“錄製與回放”的工具,不論是商用的,還是開源的,都不少。在技術上,大家也在“錄製”上下足了功夫。錄製就需要先識別。現在 Web 頁面的顯示技術在向基於客戶端的軟體的介面靠攏,於是工具要識別各種動態介面的不同元件,不同程式語言實現的動態效果。你能夠適應 .NET  ASP 編寫的介面,我可以使用動態的 Javascript, AJAX Web 

的動態顯示技術層出不窮,先是基於伺服器端的動態頁面顯示,再後來又可以把程式碼傳送並放到客戶端來由瀏覽器解釋了再動態顯示,現在又可以區域性更新頁面的部分資訊,很多頁面又開始使用 Flash Flash又逐漸被放棄等等。

於是,如何自動識別這些動態的顯示技術,並保證錄製與回放的正確,就成了各個自動化測試工具廠商最求的目標。也就是基本上是在跟著動態顯示技術發展的屁股後面跑。然而“錄製與回放”有一個大問題,就是“錄製”下來的指令碼的維護問題。Web 介面的變化是非常頻繁的。通常市場部門的一個反饋,介面就要做比較大的調整,而這個調整,會導致之前“錄製”好的指令碼的重用性變得很差。需要維護。如果不想維護,再錄製一遍的話也會造成人力的浪費。

畢竟,指令碼和真正的程式程式碼雖然都是程式設計的產物,但人家程式碼是公司研發的最終產品,是可以賣錢的;指令碼只是測試的一箇中間環節,指令碼執行的結果才是我們測試人員想得到的東西,花費很大力氣來維護一箇中間產品,任何一個研發部分都要好好考慮一下投入與產出是否值得了。可維護性差是“錄製與回放”技術需要攻克的技術難題。而解決這個難題,需要兩方面的努力:指令碼良好的封裝,與 API (關鍵字)介面的完整定義開發人員對於介面元素賦予唯一標示的 ID解決圖形介面自動化指令碼的可維護性,還需要開發的幫助,為介面元素提供唯一的標識。這樣,不論以後介面如何變化,只要標識不變,之前的指令碼一樣可以複用。而良好的指令碼封裝是“錄製與回放”幾乎難以逾越的一座技術大山。“錄製”決定了前期很少進行軟體設計,指令碼也是順序執行的。這與預先設計完整的
 API 介面,再進行指令碼開發的流程是相違背的。從長遠考慮,每一個軟體開發企業在圖形介面的自動化測試上,都應該力求向關鍵字程式設計靠攏,而不是過度的依賴自動化測試工具廠商的“錄製與回放”技術。這,才應該是圖形介面測試自動化的未來。

相關推薦

GUI自動化測試前途哪裡

降低自動化測試的門檻是很多自動化測試工具提供商努力的目標。尤其是對於圖形介面的自動化測試,就更是這樣。 於是,“錄製與回放”就成了圖形介面自動化測試的主流。不論是 Web 介面的,還是基於 Windows API 介面的,還是 Java GUI 介面的,“錄製與回放”的工具

GUI自動化測試入門(一)

首先 關於GUI,人機交換介面,比如瀏覽器,視窗,簡單來講,在我看來,他的一個十分重要的作用就是將電腦普及化,普通使用者不需要程式設計命令的知識,也可以使用電腦。 其次,關於自動化測試,相對於手工測試而言,編寫程式碼對韌體或GUI進行功能性,流暢性及其他問題的一些測試。市場

手機GUI自動化測試介紹(包括android與ios)

摘要 眾所周知,自動化測試可以一定程度上減輕測試人員負擔,提高測試效率,並且通過自動化還可以實現可靠性測試和效能測試。對於移動客戶端測試而言,如果我們能夠讓手機自動執行應用程式來幫助我們檢測功能的正確性,會不會很酷?有道測試組對一些熱門的手機自動化工具進行了調研,並選擇了一些工具進行實際的使用。本文將會結合

介紹一款開源的GUI自動化測試工具

作者:Benny Cohen 包括兩個版本,其中QAliber Test Developer版本作為VS.NET的外掛使用: QAliber Test Developer (free open s

Linux GUI自動化測試工具x11 GUITest in Linux x86

Linux GUI自動化測試工具x11 GUITest;QT GUI自動化測試工具x11 GUITest。 一、X11GUITest安裝 在linux下安裝perl X11::GUITest的操作步驟: 2.解壓:tar zxvf X11-GUITest-0.28.tar

GUI自動化測試中優化測試用例思維方法

維度 ui自動化 測試執行 模型 數據 不同 指導 業務 函數 1、測試腳本與數據解耦(數據驅動) 讓操作相同但是數據不同的測試可以通過同一 套自動化測試腳本來實現,只是在每次測試執行時提供不同的測試輸入數據。 2、頁面對象模型(POM) 以頁面為單位來封裝頁面上的控

Robot Framework自動化測試Selenium2Library庫詳細用法

www range fire 查看 int log world 定時 until 一、瀏覽器驅動 通過不同的瀏覽器執行腳本。 Open Browser Htpp://www.xxx.com chrome 瀏覽器對應的關鍵字: fi

Robot Framework自動化測試---Selenium API

地址 create http 錯誤提示 所有 baidu htmlunit pan 發的 一、瀏覽器驅動 通過不同的瀏覽器執行腳本。 Open Browser Htpp://www.xxx.com chrome 瀏覽器對應

自動化測試代碼註釋規範

online *** drive 成員 文檔自動生成 pan studio stl get 原文鏈接:http://www.cnblogs.com/zishi/p/6857606.html 一、頁頭加入代碼說明塊,格式如下: /******************

Android自動化測試遇到的問題及解決方法(1)

粘貼 png family 學習 再次 jmeter log 初始 mage 編者按:本文是小小小提姆在使用自動化測試工具TestWriter時的一點使用心得~我叫小小小提姆,是一名在IT行業的洪流中力爭上遊的軟件測試員,個人軟件測試擅長方向:1、功能測試(熟悉Fiddle

學習《selenium2自動化測試基於python》遇到的問題(一)

pypi tools bsp sel dir python 解決方案 打不開 什麽 問題一: 通過cmd,用Python安裝setuptools時,報錯no module named ‘six‘等類似情況時,解決方案: 翻譯過來就是缺少SIX的模塊,直接到官網打開,下載

APP接口自動化測試JAVA+TestNG(三)之HTTP接口測試實例

ons ace src 沒有 app 9.png 轉載 image try 前言 前兩篇普及相關基礎知識後,本篇主要對舉例對國家氣象局接口自動化測試進行講解(Get請求及結果斷言),以達到自動化測試入門目的,除了前兩篇的一些了解外,需要有一定的JAVA知識(HTTP

RobotFramework教程使用筆記——web自動化測試彈窗處理

switch lang web自動化 取消 使用 定義 www 普通 .cn 在web自動化測試中會遇到各種彈出框,在selenium中有對這些彈出框的處理。 彈出框一般有這麽幾類: 1、普通的彈出窗口,如果是可以定位的,直接定位到窗口,然後進行相

selenium+python環境的搭建的自動化測試

ignore ble 卸載 onf specified oot mea png tar 一、安裝python: 我安裝的是2.7.13版本的;可以在CMD下 運行python命令查看是否安裝python,以及安裝版本; 在https://www.pyt

Python自動化測試白羊座-week3文件操作

用法 with 文件操作 use enc 不能 run 打開 一行 #1,打開文件#2,讀取/寫入文件#3.保存文件name = open(‘C:\\Users\lingyul\Desktop\login.txt‘,‘w+‘,encoding=‘utf-8‘)#r如果不寫路

android常用自動化測試框架

window 自動 瀏覽器 資料 對比 移動 ppi des 選擇 目錄: Monkey MonkeyRunner Instrumentation UiAutomator Espresso Selendroid Robotium Athrun Appi

robotframework+SikuliLibrabry自動化測試環境

clas 感覺 java color pack 這一 雙擊 tex down 1、Python的安裝 1.1、python的下載 下載地址:https://www.python.org/downloads/release/python-2712/ 註:Python當

自動化測試工具TW報錯及解決方法

ima -1 需要 1.2 使用 policy 報錯 span 技術 自動化測試工具TestWriter使用時遇到的環境配置問題及解決方法如下,歡迎大家一起溝通交流~ 1.1 TW環境 1.1.1 Agent無法連接至服務器 1) 如果Agent與服務端不在一個網段,需要

java 接口自動化測試之數據請求的簡單封裝

public 事業 交互界面 參數 lencod name route cli asi 我們自己用java寫接口自動化測試框架或者做個接口自動化測試平臺的話,是需要自己進行相關的請求的,因此我們需要簡單的封裝下httpclient,我新建了一個http工具類,將

自動化測試之前需要了解的

java 程序 產品 接口 記錄 首先理清自動化測試的概念,什麽是自動化測試?廣義上來講,自動化包括一切通過工具(程序)的方式來代替或輔助手工測試的行為都可以看做是自動化,包括性能測試工具(Loadrunner、Jmeter),或自己所寫的一段程序,用於生成1到100個測試數據。狹義上來講