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基础的读者应该能够顺利的自行完成。

下一节将介绍webdriver的启动和关闭,欢迎继续关注。

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

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

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

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

    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. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...
  2. composer update报错: The https://packagist.phpcomposer.com/p/xxx file could not be downloaded
  3. 【caffe速成】caffe图像分类从模型自定义到测试
  4. SAP Fiori应用中事务锁的实现 - Transaction Lock实现机制
  5. php-fpm with php-5.3.2 + APC
  6. IaaS, PaaS和SaaS公司都做些什么
  7. 总奖金高达180万元 蚂蚁金服启动区块链创新大赛
  8. AcWing1064.骑士(状压DP)题解
  9. linux 命令 —— cp
  10. 家用宽带搭建个人服务器(一)
  11. 如何在win10上连接苹果无线键盘
  12. 柯洁预言AI绘画会替代大部分画师,网友:初代AI受害者现身说法
  13. bzoj4987 Tree 分类讨论+树形背包
  14. Tensorflow-Gpu安装 基于gtx1060
  15. Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象
  16. java编写家庭收支记账程序
  17. python中if brthon环境安装包_python-模块系列
  18. 微信小游戏云开发 | 72小时极限编程体验
  19. 设计模式(三)策略模式——在Spring中使用策略模式
  20. 北邮通信土著--非技术路线备忘录 (摘自北邮人论坛)

热门文章

  1. python输出结果换行_python怎么用一个print换行输出多个变量
  2. 09组织安全:为 MFA 的采用实施基于风险降低的激励模型
  3. 全站最详细OpenCV AI开发套件OAK(OpenCV AI Kit)介绍
  4. 行列式,矩阵的秩,迹,范数,条件数
  5. vue-draggable-resizable
  6. 线上展厅展台搭建方法汇总
  7. python爬虫怎么挣钱?快速赚钱渠道有哪些?
  8. 如何实时、高效地处理如此海量的路况数据?
  9. 根据环信3.0集成的视频通话
  10. ZooKeeper watch机制核心讲解