Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好时代。

不过事实却并非如此,现今原本早应退役的selenium 1.x却还是多数人坚定的选择,究其原因不过是1.x时代遗留下了大量的文档,代码,教程让人们误以为1.x还是这个年代的主流,还应该光鲜亮丽在前台演 出属于它的美好。长江后浪推前浪,最为前浪的selenium 1.x的宿命应该是死在沙滩上。

好了,直入主题,由于开源社区不再维护selenium 1.x再加之更为先进的selenium 2.0确实有不少优势之初可以完全取代1.x,在这里笔者会花一些笔墨,若干篇幅,争取深入浅出的讲解selenium 2.0的一些基本知识,常用方法和高级扩展,但由于笔者水平和时间精力等确实有限,文中应该避免不了谬误和臆断之处,还望众位读者多多海涵。

本文中所以代码和示例均由Ruby编写,本文介绍的webdriver api也主要是ruby binding。所以首先请确保ruby语言在开发环境上正确安装。

教程的第一节从selenium 2.0和webdriver关系说起。

Selenium 2.0 和webdriver之间有什么关系,有什么不可告人的秘密?说来话长,但也简单。Selenium 2.0其实就是webdriver。就像张飞就是张翼德,关羽就是关云长一样,叫法不同但内容却是一样的。

安装selenium webdriver

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

使用gem安装selenium-webdriver;打开命令行,输入下列代码完成安装。注意,如果你的开发环境需要http proxy的话,请注意在gem命令中加入–http_proxy参数;

gem install selenium-webdriver [--http_proxy]

在命令行中输入gem list,如果selenium-webdriver正确安装,则其应该出现在结果列表里。在文本写作时,selenium webdriver的最新版本应该是2.2.0;

gem list selenium-webdriver

安装firefox。本文使用firefox作为测试浏览器进行讲解,所以请确保开发环境上正确安装了firefox。由于firefox版本更新较快,我们只需要选择1个稳定版本安装既可,本文中笔者使用的版本是FF 5.0;

简单的google test

下面我们写几行代码在初次感受一下webdriver的魅力,好吧,说老实话原生的selenium webdriver并没有什么独特的魅力,相反到是watir-webdriver更加的平易近人老少咸宜。这个不是文本讨论的范畴,暂且打住。

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

如果一切顺利的话,这几行代码将会打开firefox浏览器,然后转跳到google首页。等待3秒后在搜索框中输入Hello WebDriver并提交搜索结果至后台。然后在命令行打印出当前页面的title,并关闭ff浏览器。

如果你的代码不能顺利运行,请从如下几个方面进行检查。

ruby的版本是否是1.8.7以上并正确安装;

代码中是否require ‘rubygems';

是否正确安装了Selenium WebDriver;

代码输入是否有误;

Selenium-WebDriver ruby binding的安装实际上非常的简单和快速,稍微有点ruby基础的读者应该能够顺利的自行完成。

selenium ruby和java_针对Ruby的Selenium WebDriver安装指南相关推荐

  1. selenium拖动元素java_使用Java在Selenium WebDriver中聚焦元素的正确方法

    下面的代码 – element.sendKeys(""); 尝试找到一个输入标签框来输入一些信息,而 新操作(驱动程序).moveToElement(元素).perform(); ...

  2. ruby oracle数据,从 Ruby on Rails 连接到 Oracle

    开发人员:Ruby on Rails 从 Ruby on Rails 连接到 Oracle 作者:Obie Fernandez 了解如何从一个 Rails 应用程序连接到 Oracle 和与其相关的验 ...

  3. selenium自动化测试_为什么在生产中进行Selenium自动化测试对于您的下一个版本至关重要?...

    selenium自动化测试 您是否认为仅仅是因为您的Web应用程序在过渡环境中以飞快的速度通过,它对于生产环境也将是相同的? 您可能需要重新考虑! 特别是,如果我们指的是跨浏览器测试 ,则需要确保跨各 ...

  4. 第一个Ruby程序,Hello Ruby

    安装Ruby完成后,环境变量已经自动配置好了,可以直接进入到命令行下检查一下是否正确的安装了,输入ruby -v 如果返回了一串字,只要带着ruby就表示安装成功了,哈哈 ruby 2.4.1p111 ...

  5. Spring Boot 针对 Java 开发人员的安装指南

    Spring Boot 可以使用经典的开发工具或者使用安装的命令行工具.不管使用何种方式,你都需要确定你的 Java 版本为 Java SDK v1.8 或者更高的版本.在你开始安装之前,你需要确定你 ...

  6. selenium拖动元素java_【自动化测试】Java+Selenium操作页面元素(合集)

    本文基于Java语言,依托于Eclipse工具,使用Selenium框架,主要介绍在Selenium中,如何操作Web页面中的各种元素. Eclipse 搭建 1.1.Eclipse 配置 1.2.引 ...

  7. selenium免登录Java_使用selenium+java模拟登陆今日头条时需要手机验证码登陆,第二次怎么免输入信息登陆?...

    首次通过手机验证码登录后,获取cookie,并将cookie保存到map中. 在主程序中定义map: public static Map cookies; public static boolean ...

  8. selenium 3 ie java_【Java+selenium3】 Firefox/ IE/ Chrome主流瀏覽器自動化環境搭建(一)

    一.java+selenium+firefox 1.環境准備:JDK1.8 2.安裝firefox瀏覽器v59 3.下載驅動:https://github.com/mozilla/geckodrive ...

  9. web python selenium自动化面试题_干货分享 | Selenium 自动化测试相关的面试题

    网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考. 1.Selenium中用什么函数判断元素是否存在? isElementPresent 2.Selenium中hidden或者 ...

最新文章

  1. S-T平面图中利用最短路求最小割(BZOJ 1001)
  2. 在 Google Colab 中使用 OpenCV 进行图像处理简介
  3. 报复性降薪潮来袭,怎么应对?
  4. SBB:南土所褚海燕组-pH主导土壤中固氮群落的共存与装配
  5. LeetCode算法题14:递归和回溯2
  6. python获取当前线程名称_python使用标准库根据进程名如何获取进程的pid详解
  7. LeetCode 391. 完美矩形(set检查顶点+面积检查)
  8. 天津和塘沽两天一夜自由行(第一天)
  9. 19软件班专业英语学期总结
  10. java中输入的程序_Java中输入的用法
  11. ehd边缘直方图描述子 matlab,一种新的图像空间特征提取方法
  12. string转Char*( error C2440: '=' : cannot convert from 'const char *' to 'char *')
  13. jenkins+ansible+gitlab
  14. 短信api的接口平台有哪些可以免费试用
  15. c++ 11 中显式默认设置的函数和已删除的函数 总结
  16. 各种内部排序方法及其比较实验报告
  17. python——颜文字emoji
  18. android手机recovery,安卓手机recovery是什么意思?
  19. TL-BERT: A Novel Biomedical Relation Extraction Approach
  20. BlockingQueue drainTo()

热门文章

  1. Echarts数据可视化echarts实例的相关操作,开发全解+完美注释
  2. oracle 创建用户且只有查看权限
  3. Linux下如何查看定位当前正在运行的Nginx的配置文件
  4. HttpWebRequest中GetResponse或者说GetRequestStream偶尔超时,或者是各种操作超时造成的假死的一些解决方案...
  5. Java安装以及环境配置
  6. 读《图解HTTP》有感-(HTTP报文内的HTTP消息)
  7. js checkbox 选中判断
  8. delphi组件读写机制
  9. redis 在windows 下的安装和使用
  10. [转载] Numpy数组对象ndarray