Selenium-Webdriver系列教程(一)————快速开始
来源:互联网 发布:深圳java程序员招聘网 编辑:程序博客网 时间:2024/05/16 01:37
http://www.cnblogs.com/timsheng/archive/2012/06/12/2546901.html
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 :firefoxdriver.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基础的读者应该能够顺利的自行完成。
- Selenium-Webdriver系列教程(一)————快速开始
- Selenium-Webdriver系列教程(一)————快速开始
- selenium webdriver学习(一)------------快速开始
- Selenium-Webdriver系列教程(二)————浏览器的简单操作
- Selenium-Webdriver系列教程(二)————浏览器的简单操作
- Selenium-webdriver系列教程(三)————如何执行一段js脚本
- Selenium-webdriver系列教程(四)————如何定位测试元素
- Selenium-webdriver系列教程(五)————如何定位frame中的元素
- Selenium-webdriver系列教程(六)————如何捕获弹出窗口
- Selenium-webdriver系列教程(七)————如何处理alert和confirm
- Selenium-webdriver系列教程(八)————如何操作select下拉框
- Selenium-webdriver系列教程(九)————如何智能的等待页面加载完成
- Selenium-webdriver系列教程(十)————使用jquery辅助进行测试
- Selenium-webdriver系列教程(16)————为firefox设置代理
- Selenium-Webdriver系列教程(2)———浏览器的简单操作
- Selenium-webdriver系列教程(3)———如何执行一段js脚本
- Selenium-webdriver系列教程(5)———如何定位frame中的元素
- Selenium-webdriver系列教程(6)———如何捕获弹出窗口
- Java学习之Iterator(迭代器)的一般用法 (转)
- 迁移学习( Transfer Learning )
- Redis11种Web应用场景
- oracle数据库分区的备份和恢复
- Hadoop如何通过Bloom Filter提高Join性能
- Selenium-Webdriver系列教程(一)————快速开始
- 递归实现单链表,完全二叉树的新建
- 李小鹏晒女儿萌照 网友赞"大眼萌宝宝"
- 深入剖析 redis 数据淘汰策略
- Selenium-Webdriver系列教程(二)————浏览器的简单操作
- 图形插件地址
- mysql---左连接、右连接、内连接之间的区别与联系
- ABB Fronius TPS 4000/5000 IRC5 接口
- 橄榄核雕:始知真放在精微