Selenium-RC意思是Selenium的遠(yuǎn)程控制(又稱Selenium1.0),是主要Selenium項(xiàng)目持續(xù)很長(zhǎng)一段時(shí)間Selenium webdriver(Selenium2.0)才生效存在性?,F(xiàn)在Selenium RC是很難使用在webdriver具有更強(qiáng)大的功能,但用戶仍可以繼續(xù)開發(fā)使用rc腳本。
它允許我們編寫的編程語(yǔ)言,如Java,C#,Perl,Python和PHP創(chuàng)建更復(fù)雜的測(cè)試,如讀寫文件的全功率的幫助自動(dòng)化的Web應(yīng)用程序的UI測(cè)試,查詢數(shù)據(jù)庫(kù),電子郵件的測(cè)試結(jié)果。
注:Selenium RC已被處理,只是為了理解圖點(diǎn)和唯一webdriver進(jìn)行詳細(xì)說(shuō)明,webdriver更強(qiáng)大和穩(wěn)定。Selenium RC和webdriver比較在后面的章節(jié)講解。
Selenium RC的工作方式是這樣,客戶端庫(kù)使用Selenium RC服務(wù)器經(jīng)過(guò)每個(gè)Selenium命令來(lái)執(zhí)行通信。然后服務(wù)器通過(guò)Selenium命令來(lái)使用Selenium核心JavaScript命令瀏覽器。
在瀏覽器中執(zhí)行使用JavaScript解釋器的Selenium 命令。
Selenium RC分為兩部分。
Selenium服務(wù)器啟動(dòng)和終止,除了它的瀏覽器解釋并執(zhí)行Selenese命令。它也通過(guò)攔截和驗(yàn)證器和測(cè)試的應(yīng)用程序之間傳遞的HTTP消息作為HTTP代理。
客戶端庫(kù),它提供了編程語(yǔ)言(Java,C#,Perl,Python和PHP)和Selenium-RC服務(wù)器中的每一個(gè)之間的接口。
現(xiàn)在讓我們寫使用Selenium遠(yuǎn)程控制的示例腳本。讓我們用 http://www.calculator.net/ 來(lái)理解 Selenium RC。我們將使用“百分比計(jì)算器”,即在“數(shù)學(xué)計(jì)算器”模塊目前執(zhí)行百分比計(jì)算。
第1步:啟動(dòng)Selenium 的遠(yuǎn)程控制(帶命令提示符的幫助下)在環(huán)境設(shè)置一章解釋。
第2步:啟動(dòng)Selenium RC,打開Eclipse,并創(chuàng)建“New Project”,如下圖所示之后。
第3步:輸入項(xiàng)目名稱,然后單擊“Next”按鈕。
第4步:驗(yàn)證源,項(xiàng)目,庫(kù)和輸出文件夾,然后單擊“Finish”。
第4步:右鍵單擊“project”容器,然后選擇“Configure Build Path”。
第5步:屬性'selrcdemo“打開。導(dǎo)航到“Libaries”選項(xiàng)卡,并選擇“Add External JARs”。選擇我們下載了Selenium RC的jar文件,它會(huì)出現(xiàn)如下圖所示。
第6步:將引用的庫(kù)如下圖所示顯示。
步驟7:通過(guò)執(zhí)行右鍵單擊“src”文件夾中創(chuàng)建一個(gè)新的類文件,并選擇“New”>>“class”。
第8步:輸入類文件的名稱,并啟用“public static void main”,如下圖所示。
步驟9:在文件夾結(jié)構(gòu)中創(chuàng)建的創(chuàng)建的類,如下所示。
第10步:現(xiàn)在是時(shí)候進(jìn)行編碼。下面的代碼有注釋嵌入使讀者了解。
package selrcdemo; import com.thoughtworks.selenium.DefaultSelenium; import com.thoughtworks.selenium.Selenium; public class rcdemo { public static void main(String[] args) throws InterruptedException { //Instatiate the RC Server Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net"); selenium.start(); // Start selenium.open("/"); // Open the URL selenium.windowMaximize(); // Click on Link Math Calculator selenium.click("xpath=.//*[@id='menu']/div[3]/a"); Thread.sleep(2500); // Wait for page load // Click on Link Percent Calculator selenium.click("xpath=.//*[@id='menu']/div[4]/div[3]/a"); Thread.sleep(4000); // Wait for page load // Focus on text Box selenium.focus("name=cpar1"); // enter a value in Text box 1 selenium.type("css=input[name="cpar1"]", "10"); // enter a value in Text box 2 selenium.focus("name=cpar2"); selenium.type("css=input[name="cpar2"]", "50"); // Click Calculate button selenium.click("xpath=.//*[@id='content']/table/tbody/tr/td[2]/input"); // verify if the result is 5 String result = selenium.getText(".//*[@id='content']/p[2]"); if (result == "5") { System.out.println("Pass"); }else { System.out.println("Fail"); } } }
第11步:現(xiàn)在,讓我們通過(guò)點(diǎn)擊“Run”按鈕執(zhí)行該腳本。
第12步:腳本將開始執(zhí)行和用戶將能夠看到在“Command History”選項(xiàng)卡上的命令歷史記錄。
步驟13:該應(yīng)用程序的最終狀態(tài)顯示為如下。百分比的計(jì)算方法和它在屏幕上顯示的結(jié)果如下所示。
步驟14:在測(cè)試的輸出被打印的Eclipse控制臺(tái)上所示,因?yàn)槲覀円汛蛴≥敵龅娇刂婆_(tái)下面。實(shí)時(shí)輸出寫入到HTML文件或簡(jiǎn)單的文本文件。