針對(duì)Ruby的Selenium WebDriver安裝指南
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)該光鮮亮麗在前臺(tái)演 出屬于它的美好。長江后浪推前浪,最為前浪的selenium 1.x的宿命應(yīng)該是死在沙灘上。
好了,直入主題,由于開源社區(qū)不再維護(hù)selenium 1.x再加之更為先進(jìn)的selenium 2.0確實(shí)有不少優(yōu)勢(shì)之初可以完全取代1.x,在這里筆者會(huì)花一些筆墨,若干篇幅,爭取深入淺出的講解selenium 2.0的一些基本知識(shí),常用方法和高級(jí)擴(kuò)展,但由于筆者水平和時(shí)間精力等確實(shí)有限,文中應(yīng)該避免不了謬誤和臆斷之處,還望眾位讀者多多海涵。
本文中所以代碼和示例均由Ruby編寫,本文介紹的webdriver api也主要是ruby binding。所以首先請(qǐng)確保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
- 安裝ruby1.8.7或1.9.2。注意selenium-webdriver只支持1.8.7以上的ruby版本;
- 使用gem安裝selenium-webdriver;打開命令行,輸入下列代碼完成安裝。注意,如果你的開發(fā)環(huán)境需要http proxy的話,請(qǐng)注意在gem命令中加入–http_proxy參數(shù);
- gem install selenium-webdriver [--http_proxy]
- 在命令行中輸入gem list,如果selenium-webdriver正確安裝,則其應(yīng)該出現(xiàn)在結(jié)果列表里。在文本寫作時(shí),selenium webdriver的最新版本應(yīng)該是2.2.0;
gem list selenium-webdriver
安裝firefox。本文使用firefox作為測(cè)試瀏覽器進(jìn)行講解,所以請(qǐng)確保開發(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
如果一切順利的話,這幾行代碼將會(huì)打開firefox瀏覽器,然后轉(zhuǎn)跳到google首頁。等待3秒后在搜索框中輸入Hello WebDriver并提交搜索結(jié)果至后臺(tái)。然后在命令行打印出當(dāng)前頁面的title,并關(guān)閉ff瀏覽器。
如果你的代碼不能順利運(yùn)行,請(qǐng)從如下幾個(gè)方面進(jìn)行檢查。
- ruby的版本是否是1.8.7以上并正確安裝;
- 代碼中是否require ‘rubygems';
- 是否正確安裝了Selenium WebDriver;
- 代碼輸入是否有誤;
Selenium-WebDriver ruby binding的安裝實(shí)際上非常的簡單和快速,稍微有點(diǎn)ruby基礎(chǔ)的讀者應(yīng)該能夠順利的自行完成。
相關(guān)文章
vscode?采用C++17版本進(jìn)行編譯的實(shí)現(xiàn)
本文主要介紹了vscode?采用C++17版本進(jìn)行編譯,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C語言實(shí)現(xiàn)靜態(tài)存儲(chǔ)通訊錄的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)一個(gè)靜態(tài)存儲(chǔ)的通訊錄,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下2022-09-09手動(dòng)添加bits/stdc++.h到vs2017的詳細(xì)步驟
這篇文章主要介紹了手動(dòng)添加bits/stdc++.h到vs2017的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02C++實(shí)現(xiàn)LeetCode(32.最長有效括號(hào))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(32.最長有效括號(hào)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07詳解如何用alpine鏡像做一個(gè)最小的鏡像并運(yùn)行c++程序
這篇文章主要介紹了詳解如何用alpine鏡像做一個(gè)最小的鏡像并運(yùn)行c++程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10