自動化測試概念
是把以人為驅動的測試轉化為機器執(zhí)行的一種過程,它是一種以程序測試程序的過程。
自動化只是測試方式,跟測試階段無關。
可以把任何測試工作寫一個程序自動化實現(xiàn)都可以稱為自動化測試。
selenium自動化測試:2023最新的Selenium自動化測試實戰(zhàn),沒有比這個更詳細的了_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1xv4y1D7ku/?spm_id_from=333.999.0.0
?
?
分層的自動化測試
傳統(tǒng)自動化測試:基于產品UI層的自動化測試,將黑盒功能測試轉化為由程序或工具執(zhí)行的一種自動化測試。
分層自動化測試:從黑盒(UI)單層到黑盒和白盒多層的自動化測試,即從全面黑盒自動化測試到對系統(tǒng)的不同層次進行的自動化測試。
- 單元自動化測試:單元自動化測試是指對軟件中的最小可測試單元進行檢查和驗證。
- 接口自動化測試:Web應用的接口自動化測試大體分為兩類:模塊接口測試和協(xié)議接口測試。
- 模塊接口測試:主要測試程序模塊之間的調用與返回。它主要強調對一個可實現(xiàn)完整功能的類、方法或函數(shù)的調用的測試。
- 協(xié)議接口測試:主要測試對網絡傳輸協(xié)議的調用,如HTTP/SOAP等,一般應用在前端和后端開發(fā)之間,以及不同項目之間。
- UI自動化測試:UI自動化測試以實現(xiàn)手工測試用例為主,可降低系統(tǒng)功能回歸測試的成本(人力成本和時間成本)。
什么樣的項目適合做自動化測試
- 軟件需求變更不頻繁
- 項目周期較長
- 自動化測試腳本可重復使用
- 任務測試明確,不會頻繁變動
- 每日構建后的驗證測試
- 比較頻繁的回歸測試
- 軟件系統(tǒng)界面穩(wěn)定,變化少
- 需要在多平臺運行相同的測試用例、組合遍歷型的測試、大量的重復測試
- 軟件維護周期長
- 項目進度壓力不太長
- 被測系統(tǒng)軟件開發(fā)比較規(guī)范,能夠保證系統(tǒng)的可測試性
- 具備大量的自動化測試平臺
- 測試人員具備較強的編程能力
自動化測試的目的
不是為了找Bug,而是為了回歸測試縮短軟件的發(fā)布周期,節(jié)約成本。
自動化測試的介入時間
一般是在系統(tǒng)測試階段開始介入,多用于系統(tǒng)測試的回歸測試。
(一般是系統(tǒng)測試階段,具體是核心功能手工測試做完之后開始編寫自動化腳本。)
自動化測試流程
可行性分析 → 測試需求分析 → 指定測試計劃 → 自動化測試設計 → 測試腳本開發(fā) → 無人職守測試 → 提交測試報告 → 腳本維護階段
自動化測試工具
QTP:收購后改名成UTF。商業(yè)版,適用于B/S和C/S的自動化。
Selenium:是一款用于B/S架構的軟件測試工具,它支持多平臺、多語言、多瀏覽器去實現(xiàn)自動化測試.
Robot Framework:簡稱RF,支持關鍵字驅動??梢酝瑫r測試多種類型的客戶端或者接口,可以進行分布式測試執(zhí)行。
Appium:手機APP自動化測試工具。
Selenium簡介
Selenium經歷了三個大版本,Selenium1.0、Selenium2.0和Selenium3.0。Selenium不是由單獨一個工具構成,而是由一些插件和類庫組成,這些插件和類庫有其各自的特點和應用場景。
Selenium1.0家族關系
- Selenium1.0
- (1) Selenium IDE
Selenium IDE是嵌入在Firefox瀏覽器中的一個插件,可實現(xiàn)簡單的瀏覽器操作的錄制與回訪功能。 - (2) Selenium Grid
Selenium Grid是一個自動化測試輔助工具。利用Grid可以很方便地實現(xiàn)在多臺機器上或異構環(huán)境中運行測試用例。 - (3) Selenium RC
SeleniumRC(Remote Control)是Selenium家族的核心部分,支持多種不同語言編寫的自動化測試腳本。把Selenium RC的服務器作為代理服務器去訪問應用,即可達到測試的目的。
Selenium RC分為Client Libraries和Selenium Server兩部分。Client Libraries主要用于編寫測試腳本,負責控制Selenium Server的庫。Selenium Server負責控制瀏覽器行為。
Selenium Server主要分為三部分:Selenium Core、Launcher和Http Proxy。Selenium Core就是一堆JavaScript函數(shù)的集合。通過這些JavaScript函數(shù),我們可以用程序對瀏覽器進行操作。Launcher用于啟動瀏覽器,把Selenium Core加載到瀏覽器頁面當中,同時,把瀏覽器的代理設置為Http Proxy。
- (1) Selenium IDE
- Selenium2.0
Selenium2.0把WebDriver加到了Selenium1.0這個家族中,簡單用公式表示:
Selenium2.0 = Selenium1.0 + WebDriver
需要注意的是,在Selenium2.0中主推的是WebDriver,可以將其看作Selenium RC的替代品。為了保持向下的兼容性,Selenium2.0并沒有徹底拋棄Selenium RC。- Selenium RC與WebDriver的工作方式有著本質的區(qū)別
Selenium RC是瀏覽器中運行JavaScript應用,使用瀏覽器內置的JavaScript翻譯器來翻譯和執(zhí)行selenese的(selenese是Selenium命令集合)。
WebDriver通過原生瀏覽器支持或者瀏覽器擴展來直接控制瀏覽器。WebDriver是針對各個瀏覽器而開發(fā)的,取代了嵌入被測Web應用中的JavaScript。WebDriver與瀏覽器緊密集成,支持創(chuàng)建更高級的測試,避免了JavaScript安全模型導致的限制。除來自瀏覽器廠商的支持外,WebDriver還可利用操作系統(tǒng)級的調用,模擬用戶輸入。
Selenium與WebDriver原本屬于兩個不同的項目,WebDriver的創(chuàng)建者Simon Stewart早在2009年8月的一封郵件中解釋了項目合并的原因。 - Selenium與WebDriver合并的原因
為何把兩個項目合并?一部分原因是WebDriver解決了Selenium的缺點(例如,能夠繞過JavaScript沙箱),另一部分原因是Selenium解決了WebDriver存在的問題(例如,支持廣泛的瀏覽器),還有一部分原因是Selenium的主要貢獻者和我都覺得合并項目是為用戶提供最優(yōu)秀框架的最佳途徑。
- Selenium RC與WebDriver的工作方式有著本質的區(qū)別
- Selenium3.0
2016年7月,Selenium3.0悄悄發(fā)布了第一個beta版。Selenium3.0做了以下更新。- (1) 去掉了Selenium RC,簡單用公式表示如下:
Selenium3.0 = Selenium2.0 - Selenium RC - (2) Selenium3.0只支持Java8以上版本
- (3) Selenium3.0中的Firefox瀏覽器驅動獨立了。Selenium2.0瀏覽器默認是集成Firefox瀏覽器驅動的,在Selenium3.0中,F(xiàn)irefox瀏覽器和Chrome瀏覽器一樣,在使用前需要下載和設置瀏覽器驅動。
- (4) mac OS操作系統(tǒng)集成了Safari的瀏覽器驅動,該驅動默認在/usr/bin/safaridriver目錄下。
- (5) 只支持IE9.0以上版本。
- (1) 去掉了Selenium RC,簡單用公式表示如下:
- Selenium IDE
Selenium IDE同樣是Selenium的家族成員。Selenium IDE有兩個版本,舊版的Selenium IDE是基于Firefox瀏覽器擴展的,它提供了比較完備的自動化功能,如腳本錄制/回放、定時任務等;還可以將錄制的腳本導成不同編程語言的Selenium測試腳本,這在很大程度上可以幫助新手編寫測試用例。但舊版的Selenium IDE不支持Firefox新版本支持的API,因此Selenium團隊重新開發(fā)了新版的Selenium IDE,可以同時支持Chrome、Firefox以及其他瀏覽器。
項目地址:
appium簡介
appium是當前移動平臺上主流的自動化測試工具之一。
appium是一個合成詞,分別由“application”的前三個字母和“Selenium”的后三個字母組成。application為“應用”,我們一般把移動平臺上的應用簡稱為App。Selenium是當前主流的Web UI自動化測試工具。appium與Selenium之間是有繼承關系的。appium的寓意是:移動端的Selenium自動化測試工具。
appium是一個開源自動化測試工具,支持iOS和Android平臺上的原生應用、Web應用以及混合應用。
- 原生應用
是指那些用iOS或者Android SDK開發(fā)的應用(App)。 - Web應用
是指可以使用移動瀏覽器(如iOS上的Safari和Android上的Chrome)訪問的應用。 - 混合應用
是指原生代碼封裝網頁視圖,原生代碼和Web內容交互的應用。比如,微信小程序,可以幫助開發(fā)者使用網頁技術開發(fā)應用,然后用原生代碼封裝。
更重要的是,appium是一個跨平臺的測試工具,它允許測試人員在不同平臺(iOS、Android)使用同一套API編寫自動化測試腳本,這大大增加了iOS和Android測試套件之間代碼的復用性。
appium與Selenium
appium類庫封裝了標準Selenium客戶端類庫,為用戶提供常見的JSON格式的Selenium命令,以及額外的移動設備控制相關的命令,如多點觸控手勢和屏幕方向等操作。
appium客戶端API實現(xiàn)了Mobile JSON Wire Protocol(一個標準協(xié)議的官方擴展草稿)和W3C WebDirver spec(一個傳輸不可預知的自動化協(xié)議,該協(xié)議定義了MultiAction接口)的元素。
appium服務器定義了官方協(xié)議的擴展,為appium用戶提供方便的接口來執(zhí)行各種設備動作,例如,在測試過程中安裝/卸載App等。這也是我們需要安裝appium特定的客戶端,而不是通用的Selenium客戶端的原因。當然,appium客戶端API只是增加了部分操作,在Selenium客戶端的基礎上進行了簡單的擴展,因此它們仍然可以用來運行通用的Selenium會話。
?selenium自動化測試:2023最新的Selenium自動化測試實戰(zhàn),沒有比這個更詳細的了_嗶哩嗶哩_bilibilihttps://www.bilibili.com/video/BV1xv4y1D7ku/?spm_id_from=333.999.0.0文章來源:http://www.zghlxwxcb.cn/news/detail-648524.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-648524.html
到了這里,關于Selenium自動化測試實戰(zhàn)之自動化測試基礎的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!