qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          選擇瀏覽器開始測試—Selenium自動化測試指南(2)

            (51Testing軟件測試網獲人民郵電出版社和作者授權連載本書部分章節。任何個人或單位未獲得明確的書面許可,不得對本文內容復制、轉載或進行鏡像,否則將追究法律責任。)

            操作完畢后,可看到如圖5-17所示的新建項目。

            圖5-17  新建的Java項目

            2.添加引用

            (1)在Package Explorer中用鼠標右鍵單擊Project1,選擇Properties,如圖5-18所示。

            (2)選擇Java Build Path,在右邊選擇Libraries,單擊Add External JARs,如圖5-19所示。

            圖5-18  選擇Properties菜單命令

            

          圖5-19  Add External JARs按鈕

            (3)選擇要添加的jar文件,如圖5-20所示。

            圖5-20  選擇要添加的Jar文件


          (4)單擊“打開”按鈕后,再單擊Add External JARs按鈕,如圖5- 所示。

            (5)選擇Selenium的Libs文件夾中所有與Java相關的基礎框架,如圖5- 所示。

            圖5- 選擇與Java相關的基礎框架

            (6)單擊“打開”按鈕,然后單擊OK按鈕在Package Explorer中,可以看到剛才添加的包,如圖5-21所示。

            圖5-21  查看添加的包

            (7)在main函數中輸入如圖5-22所示的代碼,然后按F11執行。

            圖5-22  Java代碼

            運行結果如圖5-23所示。

            在本章中的所有Java程序都可按照這種方式進行創建。

            圖5-23  程序運行結果

           5.3  選擇瀏覽器開始測試

            要開始測試,首先得清楚要測試什么瀏覽器,在Selenium 2中,一共支持以下幾種瀏覽器的測試。

            Firefox (FirefoxDriver)。

            IE (InternetExplorerDriver)。

            Chrome (ChromeDriver)。

            Opera (OperaDriver)。

            Android (AndroidDriver)。

            iPhone (IPhoneDriver)。

            需要注意的是,其中前3個瀏覽器是很容易就能測試的,只需在電腦中安裝相應的瀏覽器就可以開始測試了。

            而對于Opera瀏覽器,C#和Java的處理方式各不相同。而對于Android和iPhone,它們在測試前需要安裝支持軟件,這些都將在“8.1 對Opera/IPhone/Android進行測試”中進行介紹。

            所以,在最開始階段,假定只會用到前面3種瀏覽器,并且已經在自己機器上進行過安裝,然后就可以開始測試了。

            要開始測試,首先得創建Selenium的實例,也就是對應的Driver。

            如果需要對Firefox進行測試,則需要用到FirefoxDriver,代碼如程序清單5-3或程序清單5-4所示。

            程序清單5-3  C#代碼

          usingSystem;
          usingOpenQA.Selenium;//注意這里引用了Selenium的命名空間
          usingOpenQA.Selenium.Firefox;//注意這里引用了Selenium的命名空間
          namespaceConsoleApplication1
          {
          classProgram
          {
          staticvoidMain(string[]args)
          {
          IWebDriverdriver=newFirefoxDriver();
          }
          }
          }

            程序清單5-4  Java代碼

          packageProject1;
          importorg.openqa.selenium.*;//注意這里導入了selenium包中內容
          importorg.openqa.selenium.WebDriver.*;//注意這里導入了selenium包中內容
          importorg.openqa.selenium.firefox.*;//注意這里導入了selenium包中內容
          publicclassProject1Class{
          publicstaticvoidmain(String[]args){
          //如果啟動出現問題,可以使用System.setProperty指出firefox.exe的路徑
          //System.setProperty("webdriver.firefox.bin","D:\\ProgramFiles(x86)\\MozillaFirefox\\firefox.exe");
          WebDriverdriver=newFirefoxDriver();
          }
          }

            注意程序清單5-3和程序清單5-4中引用了一個名為OpenQA.Selenium.Firefox的命名空間,FirefoxDriver位于該命名空間內。

            如果要使用IE,則命要對名空間和實例化對象部分更改,如程序清單5-5或程序清單5-6所示。

            程序清單5-5  C#代碼
            

          using System;
          using OpenQA.Selenium;
          using OpenQA.Selenium.IE;
          namespace ConsoleApplication1
          {
          class Program
          {
          static void Main(string[] args)
          {
          IWebDriver driver =new InternetExplorerDriver();
          }
          }
          }



           程序清單5-6  Java代碼

          package Project1;
          import org.openqa.selenium.*;
          import org.openqa.selenium.WebDriver.*;
          import org.openqa.selenium.ie.*;
          public class Project1Class {
          public static void main(String[] args) {
          //如果啟動出現問題,可以使用System.setProperty指明webdriver.ie.driver的路徑,webdriver.ie.driver可以在http://code.google.com/p/selenium/downloads/list下載
          //System.setProperty("webdriver.ie.driver","E:\\IEDriverServer.exe");
          WebDriver driver=new InternetExplorerDriver();
          }
          }

            對Chrome也是一樣的,只需將命名空間改為OpenQA.Selenium.Chrome,實例化對象改為new ChromeDriver()即可。

            編譯并執行程序清單的代碼,對應的瀏覽器將會打開,如圖5-24所示。

            圖5-24  打開的瀏覽器

            5.4  瀏覽器導航對象Navigation

            打開了瀏覽器器之后,就可以打開指定的頁面來進行測試了。在Selenium 1中,可以直接通過Selenium的open()方法來打開頁面,但在Selenium 2中則不同,要導航頁面,需要用到Navigation對象。

            可以通過WebDriver的Navigate()方法獲得Navigation對象實例,代碼如程序清單5-7和程序清單5-8所示。

            程序清單5-7  C#代碼

          IWebDriver driver = new FirefoxDriver();
          INavigation navigation = driver.Navigate();

            程序清單5-8:Java代碼

          WebDriver driver = new FirefoxDriver();
          Navigation navigation = driver.navigate();

            在獲取該對象后,就可以執行跳轉到指定URL、前進、后退、刷新頁面等操作了。

            5.4.1  GoToUrl()/to()

            對C#來說,可以用GoToUrl()方法來實現頁面的跳轉;而對Java來說,可以使用to()來進行跳轉。在這兩個方法中,只需將URL作為參數即可,如程序清單5-9或程序清單5-10所示。

            程序清單5-9  C#代碼

          IWebDriver driver = new FirefoxDriver();
          INavigation navigation = driver.Navigate();
          navigation.GoToUrl(http://www.baidu.com);





            程序清單5-10  Java代碼

          WebDriver driver = new FirefoxDriver();
          Navigation navigation = driver.navigate();
          navigation.to(http://www.baidu.com);

            執行代碼,將打開百度主頁,如圖5-25所示。

            圖5-25:跳轉到百度主頁

            注意:執行GoToUrl()/to()方法時,代碼會自動等待頁面加載完畢再執行下一句,也就是瀏覽器狀態欄為“完成”時再執行下一句。

            5.4.2  Back()/Forward()

            在瀏覽器上,可以按“前進”和“后退”按鈕來進行導航,通過Back()/Forward()方法,也可以實現這種導航功能。

            下面將舉例說明先打開百度主頁,再打開Google主頁,之后進行后退和前進操作,代碼如程序清單為防止執行過快,每個操作后面加了3秒等待時間Thread.Sleep(3000)。

            程序清單5-11  C#代碼

          using System;
          using OpenQA.Selenium;
          using OpenQA.Selenium.Firefox;
          namespace ConsoleApplication1
          {
          class Program
          {
          static void Main(string[] args)
          {
          IWebDriver driver = new FirefoxDriver();
          INavigation navigation = driver.Navigate();
          navigation.GoToUrl(http://www.baidu.com);
          navigation.GoToUrl("http://www.google.com.hk");
          System.Threading.Thread.Sleep(3000);
          navigation.Back();
          System.Threading.Thread.Sleep(3000);
          navigation.Forward();
          }
          }
          }

          本文選自《Selenium自動化測試指南》第五章節,本站經人民郵電出版社和作者的授權,近期將進行部分章節的連載,敬請期待!

          版權聲明:51Testing軟件測試網獲人民郵電出版社和作者授權連載本書部分章節。

          任何個人或單位未獲得明確的書面許可,不得對本文內容復制、轉載或進行鏡像,否則將追究法律責任。

          相關文章:

          安裝并引用Selenium 2—Selenium自動化測試指南(1)

          查找條件對象By—Selenium自動化測試指南(3)

          posted on 2013-08-30 09:13 順其自然EVO 閱讀(3088) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天峻县| 子洲县| 安吉县| 盐池县| 固阳县| 扎囊县| 天台县| 那曲县| 盐亭县| 定西市| 吉首市| 开阳县| 称多县| 达孜县| 宝鸡市| 海原县| 浙江省| 昌江| 信丰县| 商丘市| 郓城县| 仁化县| 五河县| 普宁市| 沅陵县| 铜陵市| 和龙市| 南城县| 定襄县| 开远市| 攀枝花市| 宣城市| 班玛县| 明水县| 岢岚县| 莒南县| 丹凤县| 武安市| 扶余县| 洪泽县| 西林县|