您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium Webdriver系列教程(1)?快速開始
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/9/12 16:02:17 ] 推薦標(biāo)簽:

  Selenium 1.x時(shí)代已經(jīng)遠(yuǎn)去,它理應(yīng)躺在歷史的角落里,靠著壁爐烤著火,抽著旱煙,在裊裊的升起的青煙中回憶那曾經(jīng)屬于自己的美好時(shí)代。

  不過事實(shí)卻并非如此,現(xiàn)今原本早應(yīng)退役的selenium 1.x卻還是多數(shù)人堅(jiān)定的選擇,究其原因不過是1.x時(shí)代遺留下了大量的文檔,代碼,教程讓人們誤以為1.x還是這個(gè)年代的主流,還應(yīng)該光鮮亮麗在前臺演出屬于它的美好。長江后浪推前浪,為前浪的selenium 1.x的宿命應(yīng)該是死在沙灘上。

  好了,直入主題,由于開源社區(qū)不再維護(hù)selenium 1.x再加之更為先進(jìn)的selenium 2.0確實(shí)有不少優(yōu)勢之初可以完全取代1.x,在這里筆者會花一些筆墨,若干篇幅,爭取深入淺出的講解selenium 2.0的一些基本知識,常用方法和高級擴(kuò)展,但由于筆者水平和時(shí)間精力等確實(shí)有限,文中應(yīng)該避免不了謬誤和臆斷之處,還望眾位讀者多多海涵。

  本文中所以代碼和示例均由Ruby編寫,本文介紹的webdriver api也主要是ruby binding。所以首先請確保ruby語言在開發(fā)環(huán)境上正確安裝。

  教程的第一節(jié)從selenium 2.0和webdriver關(guān)系說起。

  Selenium 2.0 和webdriver之間有什么關(guān)系,有什么不可告人的秘密?說來話長,但也簡單。Selenium 2.0其實(shí)是webdriver。像張飛是張翼德,關(guān)羽是關(guān)云長一樣,叫法不同但內(nèi)容卻是一樣的。

  安裝selenium webdriver

  (1)安裝ruby1.8.7或1.9.2。注意selenium-webdriver只支持1.8.7以上的ruby版本;

  (2)使用gem安裝selenium-webdriver;打開命令行,輸入下列代碼完成安裝。注意,如果你的開發(fā)環(huán)境需要http proxy的話,請注意在gem命令中加入--http_proxy參數(shù);

  gem install selenium-webdriver [--http_proxy]

  (3)在命令行中輸入gem list,如果selenium-webdriver正確安裝,則其應(yīng)該出現(xiàn)在結(jié)果列表里。在文本寫作時(shí),selenium webdriver的新版本應(yīng)該是2.2.0;

  gem list selenium-webdriver

  (4)安裝firefox。本文使用firefox作為測試瀏覽器進(jìn)行講解,所以請確保開發(fā)環(huán)境上正確安裝了firefox。由于firefox版本更新較快,我們只需要選擇1個(gè)穩(wěn)定版本安裝既可,本文中筆者使用的版本是FF 5.0;

  簡單的google test

  下面我們寫幾行代碼在初次感受一下webdriver的魅力,好吧,說老實(shí)話原生的selenium webdriver并沒有什么獨(dú)特的魅力,相反到是watir-webdriver更加的平易近人老少咸宜。這個(gè)不是文本討論的范疇,暫且打住。

require 'rubygems'
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.navigate.to http://google.com
sleep 3
element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit
puts driver.title
driver.quit

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd