【Selenium-WebDriver自學】Selenium-RC腳本編寫(十)


==========================================================================================================

    寫在前面:

    開始學習Selenium和java-Eclipse等的集成編寫腳本方面的,還是蠻幸福的。

    畢竟對我而言,邁出第一步還是比較難的。一直想學習更深一層的Selenium,可是每次學習都是淺嘗輒止,學完IDE,就沒有下文了。

    這次終於能夠進行深層次的學習了。

==========================================================================================================

Selenium-RC意思是Selenium的遠程控制(又稱Selenium1.0),是主要Selenium項目持續很長一段時間Selenium webdriver(Selenium2.0)才生效存在性。現在Selenium RC是很難使用在webdriver具有更強大的功能,但用戶仍可以繼續開發使用rc腳本。

它允許我們編寫的編程語言,如Java,C#,Perl,Python和PHP創建更復雜的測試,如讀寫文件的全功率的幫助自動化的Web應用程序的UI測試,查詢數據庫,電子郵件的測試結果。

注:Selenium RC已被處理,只是為了理解圖點和唯一webdriver進行詳細說明,webdriver更強大和穩定。Selenium RC和webdriver比較在后面的章節講解。

Selenium RC的結構

Selenium RC的工作方式是這樣,客戶端庫使用Selenium RC服務器經過每個Selenium命令來執行通信。然后服務器通過Selenium命令來使用Selenium核心JavaScript命令瀏覽器。

在瀏覽器中執行使用JavaScript解釋器的Selenium 命令。

 

Selenium RC分為兩部分。

  • Selenium服務器啟動和終止,除了它的瀏覽器解釋並執行Selenese命令。它也通過攔截和驗證器和測試的應用程序之間傳遞的HTTP消息作為HTTP代理。

  • 客戶端庫,它提供了編程語言(Java,C#,Perl,Python和PHP)和Selenium-RC服務器中的每一個之間的接口。

RC - 腳本

現在讓我們寫使用Selenium遠程控制的示例腳本。讓我們用 http://www.calculator.net/ 來理解 Selenium RC。我們將使用“百分比計算器”,即在“數學計算器”模塊目前執行百分比計算。

第1步:啟動Selenium 的遠程控制(帶命令提示符的幫助下)在環境設置一章解釋。

第2步:啟動Selenium RC,打開Eclipse,並創建“New Project”,如下圖所示之后。

第3步:輸入項目名稱,然后單擊“Next”按鈕。

 

第4步:驗證源,項目,庫和輸出文件夾,然后單擊“Finish”。

第4步:右鍵單擊“project”容器,然后選擇“Configure Build Path”。

第5步:屬性'selrcdemo“打開。導航到“Libaries”選項卡,並選擇“Add External JARs”。選擇我們下載了Selenium RC的jar文件,它會出現如下圖所示。

第6步:將引用的庫如下圖所示顯示。

Selenium IDE 58

步驟7:通過執行右鍵單擊“src”文件夾中創建一個新的類文件,並選擇“New”>>“class”。

Selenium IDE 59

第8步:輸入類文件的名稱,並啟用“public static void main”,如下圖所示。

Selenium IDE 60

步驟9:在文件夾結構中創建的創建的類,如下所示。

Selenium IDE 70

 

第10步:現在是時候進行編碼。下面的代碼有注釋嵌入使讀者了解。

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步:現在,讓我們通過點擊“Run”按鈕執行該腳本。

Selenium IDE 72

第12步:腳本將開始執行和用戶將能夠看到在“Command History”選項卡上的命令歷史記錄。

Selenium IDE 71

步驟13:該應用程序的最終狀態顯示為如下。百分比的計算方法和它在屏幕上顯示的結果如下所示。

Selenium IDE 73

步驟14:在測試的輸出被打印的Eclipse控制台上所示,因為我們已打印輸出到控制台下面。實時輸出寫入到HTML文件或簡單的文本文件。

Selenium IDE 74

==========================================================================================================

    學習小結:

    1. 首先:我學習這部分內容的時候,使用的是selenium-2.52的包。除此之外跟上述的描述沒有區別。

    2. 這部分內容,我剛開始的時候不是很會寫,所以我就用Selenium IDE將錄制的腳本導出成Selenium或者WebDriver的java代碼,然后添加到
        工程里,去調用。同時,因為教程里使用的是計算器,我訪問不到,所以就用百度頁面完成。

    3. 以上教程是簡單的使用Eclipse環境來搭建簡單的測試,已經能基本實現,我使用的導出來的,所以跑出來的結果是用junit的結果。

==========================================================================================================

參考地址:http://www.yiibai.com/selenium/selenium_rc.html#article-start


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM