自動化測試selenium1

什麼是自動化測試

  • 自動化測試指軟件測試的自動化,在預設狀態下運行應用程序或者系統,預設條件包括正常和異常,最後評估運行結果。將人爲驅動的測試行爲轉化爲機器執行的過程。
    常見的自動化測試工具:QTP、selenium、Rational Robot 、jmeter、appium、soapui、Loadrunner等等,selenium 是一個web 的自動化測試工具,它的優點有:
    1.免費,也不用再爲破解QTP 而大傷腦筋
    2.小巧,對於不同的語言它只是一個包而已,而QTP 需要下載安裝1個多G 的程序。
    3.這也是最重要的一點,不管你以前更熟悉C、java、ruby、python、或都是C# ,你都 可以通過selenium 完成自動化測試,而QTP 只支持VBS
    4.支持多平臺:windows、linux、MAC ,支持多瀏覽器:ie、ff、safari、opera、chrome
    5.支持分佈式測試用例的執行,可以把測試用例分佈到不同的測試機器執行,相當於分 發機的功能。
  • 自動化工具和自動化框架的區別?
    自動化測試框架一般可以分爲兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的項目中,它體現重要的作用,它可以管理整個自動測試,包括自動化測試用例執行的次序、測試腳本的維護、以及集中管理測試用例、測試報告和測試任務等。下層主要是測試腳本的開發,充分的使用相關的測試工具,構建測試驅動,並完成測試業務邏輯。
    自動化測試的演變:測試工具----數據驅動----關鍵字驅動----測試框架----測試平臺.
  • UI自動化
    用例維護量大
    頁面相關性強,必須後期介入
    UI測試適合與界面變動較小的項目
  • 接口自動化
    可在產品前期介入
    用例維護量小
    頁面相關性小
    適合接口變動較小,界面變動頻繁的項目

自動化測試的優勢

降低大型系統的由於變更或者多期開發引起的大量的迴歸測試的人力投入,這可能是自動化測試最主要的任務,特別是在程序修改比較頻繁時,效果是非常明顯的,自動化測試前期人力投入較多,但後期進入維護期後,可節省大量人力,而手工測試後期需要增加大量人力用於迴歸測試
1.減少重複測試的時間,實現快速回歸測試
2.創建優良可靠的測試過程,減少人爲錯誤
3.可以運行更多更繁瑣的測試
4.可以執行一些手工測試困難或不可能進行的測試
5.更好的利用資源
6.測試具有一致性和重複性
7.測試腳本的重用性

如何實施自動化測試

所有的項目能實施自動化麼?怎麼實施?值得不值得?

  • 自動化測試的適用對象:
    實施自動化測試的前提條件:需求變動不頻繁、項目週期足夠長、自動化測試腳本可重複使用
    1、需求變動頻繁的項目,自動化腳本不能重複使用,維護成本太大,性價比低
    2、項目週期短,自動化腳本編制完成後使用次數不多,性價比低
    3、交互型較強的項目,需要人工干預的項目,自動化無法實施
  • 適合做自動化的項目:
    1、產品型項目。產品型的項目,新版本是在舊版本的基礎上進行改進,功能變不大的項目,但項目的新老功能都必
    須重複的進行迴歸測試。迴歸測試是自動化測試的強項,它能夠很好的驗證你是否引入了新的缺陷,老的缺陷是否修
    改過來了。在某種程度上可以把自動化測試工具叫做迴歸測試工具。
    2、機械並頻繁的測試。每次需要輸入相同、大量的一些數據,並且在一個項目中運行的週期比較長。
  • 如何實施自動化測試
    單純的講,自動化測試的具體實現,應該是包含下面七個過程的。
  1. 分析:總體把握系統邏輯,分析出系統的核心體系架構。
  2. 設計:設計測試用例,測試用例要足夠明確和清晰,覆蓋面廣而精
  3. 實現:實現腳本,有兩個要求一是斷言,二是合理的運用參數化。
  4. 執行:執行腳本遠遠沒有我們想象中那麼簡單。腳本執行過程中的異常需要我們仔細的去分析原因。
  5. 總結:測試結果的分析,和測試過程的總結是自動化測試的關鍵。
  6. 維護:自動化測試腳本的維護是一個難以解決但又必須要解決的問題。
  7. 分析:在自動化測試過程中深刻的分析自動化用例的覆蓋風險和腳本維護的成本。

selenium

Selenium是ThroughtWorks公司一個強大的開源Web功能測試工具系列,支持多平臺、多瀏覽器、多語言去實現自動化測試,Selenium2將瀏覽器原生的API封裝成WebDriver API,可以直接操作瀏覽器頁面裏的元素,甚至操作瀏覽器本身(截屏,窗口大小,啓動,關閉,安裝插件,配置證書之類的),所以就像真正的用戶在操作一樣。

支持多種開發語言:ruby,python,java,perl,c#等,同時Selenium 測試直接自動運行在瀏覽器中,就像真正的用戶在手工操作一樣。支持的瀏覽器包括 IE、Chrome 和 Firefox等。

Selenium已經從之前的1.0(RC)進化到了現在的Selenium2(Selenium1+WebDriver)。

Selenium 2.0(又名Selenium WebDriver)的主要新功能是集成了 WebDriver。WebDriver 曾經是 Selenium1(又名 Selenium RC)的競爭對手。Selenium RC 在瀏覽器中運行 JavaScript 應用,而 WebDriver 通過原生瀏覽器支持或者瀏覽器擴展直接控制瀏覽器。
之所以合併,原因如下:
1.WebDriver 解決了 Selenium 存在的缺點(比如,繞過 JS 沙箱);
2.Selenium 解決了 WebDriver 存在的問題(例如支持廣泛的瀏覽器);
3.Selenium 的主要貢獻者們都覺得合併項目是爲用戶提供最優秀框架的最佳途徑。

舉個司機例子說一下WebDriver的工作原理:
webdriver相當於司機,test腳本相當於乘客,騎車相當於瀏覽器,司機知道了乘客要去的地方,就驅動汽車去執行。

selenium IDE錄製腳本也很簡單,就不再敘述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章