selenium ruby和java_Selenium 快速入门 -- ruby 程序员篇

什么是 Selenium(只做初始解释,更详细的请看官网)

Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:

1. Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。

2. 使用 Selenium 和在浏览器中运行测试还有很多其他好处。下面是主要的两大好处:

通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。

通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。

Selenium 能做什么

作为 Programmer 来说,写一段程序来帮助我们完成一系列繁琐的人工操作工作,是一件多么愉快的事。21 世纪是网络的时代,几乎所有的互联网操作都离不开浏览器,如果能让程序控制浏览器来为我们做一系列繁琐的工作,互联网的那些事儿不就变得简单了吗?太好了,想起都太好了。

Selenium 正是能为我们做这些事的工具。

如何安装

1. Linux 环境

操作系统一定要为桌面型 Linux 操作系统 (因为需要启浏览器)

安装 java 环境 (JDK)

点击链接下载:selenium-server-standalone-2.39.0.jar(现在最近版本己是 2.42, 线上布署的为 2.39)

运行该 jar 包 (java -jar /root/code/selenium-server-standalone-2.39.0.jar -role hub -DPOOL_SIZE 512 -port 80 ) 后面跟的参数大家可以在官网查询,这里不做重复解释,特别需要注意的是:最好使用 root 来启动,因为 jar 包里面需要权限去执行其他操作。

浏览器访问:http://127.0.0.1 就能看到 selenium server grid 的界面, 表时 selenium 服务器己搭建好

需要在 selenium server 上启动具体的 Selenium-RC 实例. (java -jar /root/selenium/selenium-server-standalone-2.39.0.jar -role node -hub http://localhost:80/grid/register -browser browserName=firefox,firefox_binary=/usr/bin/firefox,version=24.6.0 platform=LINUX -port 5553 -registerCycle=60000) 该命令执行后,就有运行的具体实例了。

2. Windows 环境

与 Linux 环境有很多相同点。由于 linux 环境下相比 Window 环境更稳定,所以一般在没有使用 Windows 环境的情况下,都是使用的 Linux 环境下面的 firefox,如果我们一定要使用Windows 环境,我们主要是使用它的 IE 浏览器。

如果一定要使用 Windows 环境,我们这里也说一下如何搭建

安装 java 环境 (JDK)

点击链接下载:selenium-server-standalone-2.39.0.jar(现在最近版本己是 2.42, 线上布署的为 2.39),IEDriverServer.exe(启动 IE 浏览器的 Driver)

运行该 jar 包 (java -jar C:\selenium\selenium-server-standalone-2.39.0.jar -role hub -DPOOL_SIZE 512 -port 80) 后面跟的参数大家可以在官网查询。

浏览器访问:http://127.0.0.1 就能看到 selenium server grid 的界面, 表时 selenium 服务器己搭建好

需要在 selenium server 上启动具体的 Selenium-RC 实例. (java -jar C:\selenium\selenium-server-standalone-2.39.0.jar -role node -hub http://localhost:80/register -browser browserName="internet explorer" -Dwebdriver.ie.driver=C:\selenium\IEDriverServer.exe -port 5553 naxInstance=1,platform=WINDOWS) 该命令执行后,就有运行的具体实例了

与 Linux 环境的区别:

Selenium 默认使用的 Driver 是 firefox, 在 window 环境下面需要启动 IE,所以我们需要 IEDriverServer.exe

Window 环境下面, 目前官网明确说明支持 XP,其他系统官方没有明确说明是否支持

Ruby 如何操作

1、所需 GEM 包

gem 'selenium-webdriver', '2.39.0' #2.39.0 该版本号一定要与 selenium-server-standalone-2.39.0.jar 这个 java 包的版本一致

gem 'selenium'

gem 'selenium-client'

gem 'capybara', '2.2.1'

2、Selenium-RC 实例为:Firefox,初始化代码如下:include Capybara::DSL #我们使用Capybara来操作Selenium

Capybara.run_server = false

Capybara.default_driver = :selenium

Capybara.register_driver :selenium do |app|

http_client.timeout = 1800

Capybara::Selenium::Driver.new(app,

:browser => :remote,

:url => 'http://localhost:5553/wd/hub', #我们上面为之非常努力配置的 Selenium-RC实例

:desired_capabilities => :firefox#其实只有这里不同

)

end

初始化成功后,我们就可以使用 Capybara::DSL 里面封装的 selenium 操作浏览器的方法了。

比如:让浏览器访问一个网页,就只需要使用 visit 'http://www.baidu.com'

大家先看看这里面,非常的人性化的方法:https://github.com/jnicklas/capybara

3、Selenium-RC 实例为:IE, 初始化代码如下:include Capybara::DSL #我们使用Capybara来操作Selenium

Capybara.run_server = false

Capybara.default_driver = :selenium

Capybara.register_driver :selenium do |app|

http_client = Selenium::WebDriver::Remote::Http::Default.new

http_client.timeout = 1800

Capybara::Selenium::Driver.new(app,

:browser => :remote,

:url => 'http://localhost:5553/wd/hub', #我们上面为之非常努力配置的 Selenium-RC实例

:desired_capabilities => :internet_explorer,#其实只有这里不同

:http_client => http_client

)

end

初始化成功后,我们就可以使用 Capybara::DSL 里面封装的 selenium 操作浏览器的方法了。

比如:让浏览器访问一个网页,就只需要使用 visit 'http://www.baidu.com'

大家先看看这里面,非常的人性化的方法:https://github.com/jnicklas/capybara

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值