Selenium Webdriver test 初探

之前一直知道这个东东,但是由于前期不怎么需要,因此就没有详细了解selenium.

偶然间搜索到一篇博客,那今天的学习时间,就来试用下selenium吧~

Selenium是什么之类的话题可以参加来源博客.我就不多解释了.

文章中使用的是nodejs+webdriverjs,使用javascript桥接,作为主要测试编写语言.

由于之前的项目一直用的是ruby+watir+sikuli,因此,此次验证准备将ruby和javascript两种方式的都用一下.

 

先说说环境搭建(目前只有win7使用,故以windows为准):

假定我们放相关数据文件为: d:/test/

1.安装好java运行环境,ruby运行环境;

2.下载:  selenium-server-standalone-2.25.0.jar

由于验证浏览器为chrome,因此还需要下载: chromedriver.exe

 

下面主要给下Javascript运行环境的搭建:

1.Nodejs安装:  直接官网下载: http://nodejs.org/dist/v0.8.14/node-v0.8.14-x86.msi

2.webdriverjs安装: 在cmd下,  npm install webdriverjs

如果是通过HTTP代理上网,则在先运行下: SET HTTP_PROXY=http://ip:port

(ruby gems使用代理: gem install watir-webdriver -p http://ip:port   --backtrace)

 

完成上述环境准备后,还有更重要的一点:

将 chromedriver.exe 所在的目录加入到环境变量PATH中.

否则在使用时,会有下述提示:

WARN - Exception:

The path to the driver executable must be set by the webdriver.chrome.driver system property;

rem for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver.

rem The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list

 

目录结构看起来如下截图:



下面开始javascript+chrome版本的测试:

Cmd下启动selenium server:

java -jar selenium-server-standalone-2.25.0.jar -Dwebdriver.chrome.path="%~dp0chromedriver.exe"

注意下方红色部分的.



在启动一个cmd,执行js代码: (nodejsnode命令,就相当于rubyirb,命令解析器)

D:>node



为了便于输入,使用了单独的js文件.

代码:
var webdriverjs = require("webdriverjs");

var client = webdriverjs.remote({desiredCapabilities:{browserName:"chrome"}}); // to run in chrome

client

.init()

.url("http://baidu.com")

.setValue("#kw","hello,world!")

.click("#su")

.getTitle(function(title){console.log(title)})

.end();

 

然后使用node xx.js即可执行完成.上述代码是打开百度首页,并搜索"hell,world!",取得搜索后页面的标题.

见下面的截图



 

 

下面开始ruby+chrome的使用:

我们知道,ruby常用的watir,支持IE系列,要想支持chrome,firefox等其他浏览器,就得借助于watr-webdriver.

对比下ruby环境中,watir-webdriverselenium-webdriver的代码不同,

我个人而言,还是觉得watir好用点:

 
# -*- coding: utf-8 -*-

require 'watir-webdriver'

#gem install watir-webdriver

current_file = File.dirname(__FILE__)

#需要设置环境变量,如果没有,则本运行脚本显示加上.

ENV['PATH'] = ENV['PATH']+";"+current_file

@b = Watir::Browser.new :chrome

@b.goto('baidu.com')

@b.text_field(:id,"kw").set("hello")

@b.button(:id,'su').click

puts @b.title

@b.close

<================================>
# -*- coding: utf-8 -*-

require "selenium-webdriver"

#gem install selenium-webdriver

current_file = File.dirname(__FILE__)

#需要设置环境变量,如果没有,则本运行脚本显示加上.

ENV['PATH'] = ENV['PATH']+";"+current_file

driver = Selenium::WebDriver.for :chrome

driver.navigate.to "http://baidu.com"

element = driver.find_element(:name, 'wd')

element.send_keys "Hello,Chrome WebDriver!"

element.submit

puts driver.title

driver.quit

 

 
| 0个评论