使用 Selenium 實現基于 Web 的自動化測試

發表于:2017-07-24來源:未知作者:jib點擊數: 標簽:selenium
了解 Selenium 自動化測試框架的基本概念。學會搭建應用 Selenium 自動化測試框架的環境。搭建一個自集成的測試容器以持續測試 Selenium 測試用例。本文著重介紹傳統 Selenium 1 的

Selenium 及其實現原理

Selenium 的主要功能包括:

1)測試與瀏覽器的兼容性測試應用程序能否兼容工作在不同瀏覽器和操作系統之上。

2)測試系統功能:錄制用例自動生成測試腳本,用于回歸功能測試或者系統用例說明。

簡而言之,Selenium 就是一款可以錄制用戶操作,幫助 Web 測試人員簡化重復勞動的工具。

目前為止 Selenium 有兩種版本:

Selenium 1(Selenium RC,Remote Control):傳統 Selenium 框架,支持多種編程語言腳本生成。但需要啟動一個代理 Server 來處理用戶與測試 Server 之間的通訊。

Selenium 2(Selenium Webdriver):全新自動化接口,突破了 Selenium 1 的一些限制,剔除了中間 Server,但由于寫這篇文章為止自動生成腳本工具對 Selenium 2 的支持還不好,適合熟悉 Selenium API 的手寫 case 測試人員使用。

閱讀本文讀者可以學習到以下技能:

了解 Selenium 自動化測試框架的基本概念。

學會搭建應用 Selenium 自動化測試框架的環境。

搭建一個自集成的測試容器以持續測試 Selenium 測試用例。

本文著重介紹傳統 Selenium 1 的原理及使用方法。接下來讓我們看看 Selenium 是如何調用錄制腳本并實現自動測試的。

Selenium 1 實現原理

Selenium 引入了 Remote Control Server 這樣一個代理 Server,JavaScript 腳本注入和與 Server 通訊都通過這個代理 Server 來進行。如下圖所示:

圖 1. Remote Control 模式運行流程

之所以引入這個代理 Remote Control Server 是因為“同源策略”的限制,通過這個代理服務器來“欺騙”遠程 Server,達到使其以為是從同一個地方 load 代碼以正確返回請求數據的效果。

流程說明:

客戶端建立與 selenium-RC server 的連接。

Selenium RC Server 啟動一個瀏覽器(或是已經使用中),并注入 JS 代碼

將 Selenese 代碼傳到客戶端的 Selenium-Core 中。

Selenium-Core 翻譯并解析執行用戶錄制的操作。

原文轉自:http://www.uml.org.cn/Test/201707182.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97