Selenium-Webdriver系列教程(一)————快速开始

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 3element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submitputs driver.titledriver.quit

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

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

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

  • 代码中是否require ‘rubygems’;

  • 是否正确安装了Selenium WebDriver;

  • 代码输入是否有误;

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

转载于:https://www.cnblogs.com/timsheng/archive/2012/06/12/2546901.html

Selenium-Webdriver系列教程(一)————快速开始相关推荐

  1. Selenium Webdriver系列教程(1)—快速开始

    Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好时代. 不过事实却并非如此,现今原本早应退役的selenium 1. ...

  2. Selenium-Webdriver系列教程(1)————快速开始

    Selenium-Webdriver系列教程(一)----快速开始 Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好 ...

  3. 乙醇的selenium java_ruby/python/java全覆盖的Selenium-Webdriver系列教程(1)————快速开始...

    Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好时代. 不过事实却并非如此,现今原本早应退役的selenium 1. ...

  4. Selenium Webdriver 简易教程

    Selenium是ThroughtWorks公司开发的一套Web自动化测试工具. 它分为三个组件: Selenium IDE Selenium RC (Remote Control) Selenium ...

  5. 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)

    文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...

  6. 自动化测试工具 Selenium WebDriver 入门教程

    <div class="iteye-blog-content-contain" style="font-size: 14px"></div&g ...

  7. Saleor:开源、免费的无头电子商务平台——系列教程,快速打造属于你的电商网站

    Saleor:开源.免费的无头(Headless eCommerce)电子商务平台 项目:saleor stars:6.7k 简介:开源的无头(Headless eCommerce)电子商务平台(商城 ...

  8. 涂鸦蓝牙SDK开发系列教程——1.快速入门

    本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...

  9. 涂鸦Zigbee SDK开发系列教程——3.快速入门

    在涂鸦 IoT 平台上创建产品完成且搭建好开发环境后就可以进行应用开发了.本章节将会通过对提供的 demo 进行简单修改,带你快速体验如何通过编写涂鸦模组固件实现对产品的智能化开发. demo 功能介 ...

最新文章

  1. ASP.Net中的TreeView控件中对节点的上移和下移操作
  2. 索尼推出全能音乐AI工具:作曲混音编曲都OK!留给人类发挥的空间不多了
  3. mysql no listenter_为什么mysql中用\G表示按列方式显示
  4. 面试官:如何实现幂等性校验?
  5. 苹果失策?新iPhone捆绑Apple TV+或会致硬件利润率下滑
  6. ssas 分层维度_如何在SSAS多维中使用分区来优化维度安全性能
  7. Xinlinx 7系列FPGA概览
  8. php获取类的实例变量
  9. 百度离线地图瓦片图制作
  10. 新年贺卡用python_新年贺卡图片手工制作精美简单
  11. 《长安十二时辰》教了哪些算法知识?
  12. Ubuntu上实现蓝牙串口通讯(SPP)
  13. GMARK设计奖申报
  14. 主机与虚拟机之间无法粘贴复制
  15. JRE和JDK和JVM
  16. shell脚本回车换行,bash shell的脚本 - 回车键/确认键
  17. 基于微信小程序的学生选课系统源码
  18. Final Cut Pro 在视频的多个地方同时打马赛克
  19. 博图买什么样配置的笔记本_在电脑上安装博途软件电脑运行较为顺畅,笔记本电脑需要怎样的配置?...
  20. 计算机类哪些专业是学硬件的,计算机硬件工程师主要学习什么内容

热门文章

  1. 关于python输出换行与不换行
  2. 【Linux】Centos 7.9 新机器的一般部署方案
  3. python UDP广播
  4. C++中类型转换详解
  5. 关于Java项目中,word和Excel类型文件的预览功能实现
  6. dns ubuntu20 有线网络_ubuntu 网络配置(包括有线、无线、wifi)
  7. 开发中遇到的问题 JSON转义字符 String转小写 SQL查询
  8. DNS---域名解析
  9. quarts任务调度快速上手
  10. 使用networkx绘制社交网络图