軟件測試 | Selenium-RC工作原理
2023-06-28 17:21:43 | 來源:嗶哩嗶哩 |
2023-06-28 17:21:43 | 來源:嗶哩嗶哩 |
我們描述Selenium-RC組件是如何運轉(zhuǎn)的,以及它們在測試案例運行過程中扮演什么角色。
(資料圖片僅供參考)
組件
Selenium-RC組件包括:
Selenium Server,它負責啟動和關(guān)閉瀏覽器,解釋和運行從測試程序傳來的Selenium命令,就像一個HTTP代理一樣。截取和驗證瀏覽器與待測應(yīng)用(AUT)之間的HTTP消息;
客戶端庫文件提供編程語言和Selenium-RC Server之間的接口。
Selenium-RC的一個簡單的架構(gòu)圖,如圖5-1所示。
圖5-1說明客戶端庫文件將命令傳遞給Server。接著Server使用Selenium-Core的JavaScript命令,將Selenium命令傳遞給瀏覽器。瀏覽器會使用自帶的JavaScript翻譯器來執(zhí)行Selenium命令。這意味著測試腳本中的Selenium操作和驗證將被執(zhí)行。
Server
Selenium Server從你的測試程序中接收Selenium命令,翻譯它們,向測試程序反饋運行這些測試案例的結(jié)果。
在測試程序打開瀏覽器時(使用客戶端庫文件的API函數(shù)),RC Server綁定Selenium Core并自動將它嵌入到瀏覽器中。Selenium-Core是一個JavaScript程序,實際上是一系列JavaScript函數(shù),它們使用瀏覽器內(nèi)置的JavaScript翻譯器來翻譯和執(zhí)行Selenium命令。
Server使用簡單的HTTP GET/POST請求從你的測試程序中獲取Selenium命令。這意味著你可以使用任何支持HTTP請求的編程語言來自動化基于瀏覽器的測試案例。
3.客戶端庫文件
客戶端庫文件提供編程接口,允許你使用自己編寫的程序來運行Selenium命令。對于每一種支持的語言都有對應(yīng)客戶端庫文件。Selenium客戶端庫文件提供編程接口(API),例如,一些列函數(shù),以便通過你的程序來運行Selenium命令。對于任何一種接口而言,都有對應(yīng)的函數(shù)支持每一個Selenese命令。
客戶端庫文件獲取一條Selenium命令,并將它傳遞給Selenium Server,以便于執(zhí)行一個指定操作或者基于待測應(yīng)用(AUT)進行測試。客戶端庫文件收到命令的執(zhí)行結(jié)果,再將其傳給你的測試程序。程序接受到結(jié)果后,將它保存在變量中,接著報告成功還是失敗,如果結(jié)果是意料之外的失敗,還能有針對性地采取正確措施。
因此要創(chuàng)建測試程序,你只須使用客戶端庫文件的API來編寫程序,程序會去運行一系列Selenium命令。如果你已經(jīng)在Seleniu-IDE中創(chuàng)建了一個Selenium測試腳本,可以用它來生成Selenium。如果你已經(jīng)在Selenium-IDE中創(chuàng)建了一個Selenese測試腳本,可以用它來生成Selenium-RC代碼。Selenium-IDE可以將它的Selenium命令,翻譯成客戶端驅(qū)動的API函數(shù)調(diào)用(使用Selenium-IDE Export菜單選項)。