日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UI自动化测试之Selenium原理详解

發布時間:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UI自动化测试之Selenium原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Selenium簡介

Selenium也是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE、Mozilla Firefox、Chrome等,支持多種語言編寫測試測試腳本,目前支持的語言有Java,Python,Ruby,C#,當前Selenium最常用的版本是Selenium2和Selenium3。

Selenium 1.0 的工作原理

Selenium 1.0,又稱 Selenium RC,其中 RC 是 Remote Control 的縮寫。Selenium RC 利用的原理是:JavaScript 代碼可以很方便地獲取頁面上的任何元素并執行各種操作。Selenium 1.0 的核心是,基于 JavaScript 代碼注入。

由于Selenium 1.0已經基本不再使用,在這里就不做過多介紹。

Selenium 2.0 的工作原理

Selenium 2.0,又稱 Selenium WebDriver,它利用的原理是:使用瀏覽器原生的 WebDriver 實現頁面操作。其實現方式與Selenium 1.0已經是完全不同了。?Selenium 2.0 的核心是,運用了瀏覽器原生支持的 WebDriver。

Selenium 2.0 工作原理如圖:

Selenium 2.0 執行測試的步驟:

1、當使用 Selenium2.0 啟動瀏覽器 Web Browser 時,后臺會同時啟動基于 WebDriver Wire 協議的 Web Service 作為 Selenium 的 Remote Server,并將其與瀏覽器綁定。綁定完成后,Remote Server 就開始監聽 Client 端的操作請求。

2、執行測試時,測試用例會作為 Client 端,將需要執行的頁面操作請求以 Http Request 的方式發送給 Remote Server。該 HTTP Request 的 body,是以 WebDriver Wire 協議規定的 JSON 格式來描述需要瀏覽器執行的具體操作。

接口協議是:

POST /session/{session id}/element/{element id}/click

詳情請參考www.w3.org/TR/webdriver/

3、Remote Server 接收到請求后,會對請求進行解析,并將解析結果發給 WebDriver,由 WebDriver 實際執行瀏覽器的操作。

4、WebDriver 可以看做是直接操作瀏覽器的原生組件(Native Component),所以搭建測試環境時,通常都需要先下載瀏覽器對應的 WebDriver。

Selenium 3.0

Selenium的架構圖

Selenium 3.0是selenium最新發布版本,工作原理與Selenium 2.0大致相同。

Selenium2和Selenium3的區別在于:

1、去掉了對selenium rc的支持
2、全面擁抱java 8 。最低要求java 8 版本以上。
3、支持macOS (Sierra or later),支持官方的safaridriver。
4、通過ms官方的webdriver server支持Edge瀏覽器。只支持ie 9.0版本以上。
5、通過Mozilla官方的geckodriver來支持firefox。火狐從47版本開始使用Gecko引擎,該引擎支持多進程。

?

?

?

?

總結

以上是生活随笔為你收集整理的UI自动化测试之Selenium原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。