Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例
Selenium WebDriver + Grid2 + RSpec之旅(四)
----通过RSpec编写测试用例
自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSpec来编写一个测试用例。
RSpec的安装在准备篇中已经介绍过了,这边就不再介绍了。下面就开始用例编写
用例编写
1、在工作目录下新建一个spec的文件夹
2、打开UatrlEdit,编写代码如下:
#encoding:utf-8
require 'selenium-webdriver'
require 'rspec' describe 'cnblogs main login page' do
context 'input the wrong passwd' do
it 'login failed,and return "用户名或密码错误"' do
dr = Selenium::WebDriver.for(:remote,:url => 'http://localhost:4444/wd/hub',:desired_capabilities => :firefox) dr.navigate.to 'http://passport.cnblogs.com/login.aspx' dr.find_element(:id,'tbUserName').send_keys('gqou') #输入用户名 dr.find_element(:id,'tbPassword').send_keys('') #输入密码 dr.find_element(:name,'btnLogin').click #点击登录 expect(dr.find_element(:id,'Message').text).to eql('用户名或密码错误') dr.close #关闭浏览器 end
end
end
3、保存文件到spec目录下,文件名为login_cnblogs_spec.rb
4、启动Hub和对应浏览器的Node服务
5、在DOS窗口中,切换到spec目录下,执行rspec login_cnblogs_spec.rb --format doc 或者在工作目录下执行rspec -f doc
6、你将会看到浏览器打开执行测试脚本,DOS窗口中打印出运行信息
7、OK!一个简单的测试用例搞定!接下来我们会介绍一下面向对象的用例编写!
Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例的更多相关文章
- Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行
Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工 ...
- Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例
Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...
- Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子
Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...
- Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置
Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节 ...
- Selenium WebDriver + Grid2 + RSpec之旅(一)----准备篇
Selenium WebDriver + Grid2 + RSpec之旅(一) ----准备篇 前言 在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模 ...
- Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)
Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...
- Hexo之旅(四):文章编写技巧
hexo 编写文章可以使用以下命令创建hexo new "文件名" #创建的文章会在_pots目录下文章的后缀名是以md命名的文件格式,遵循markdown语法,所以编写文章可以使 ...
- selenium webdriver学习(四)------------定位页面元素(转)
selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElemen ...
- selenium webdriver (python) 第一版PDF
前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在sel ...
随机推荐
- 事件兼容IE
addEvent:function(target, functionref, tasktype) { if (target.addEventListener) target.addEventListe ...
- spring data mongodb中,如果对象中的属性不想加入到数据库字段中
spring data mongodb中,如果对象中的属性不想加入到数据库字段中,可加@Transient注解,声明为透明属性 spring data mongodb 官网帮助文档 http://ww ...
- CSS实现文字上标、下标
.sup{vertical-align:super; color:red; font-size:9px; font-family:Arial, Helvetica, sans-serif; margi ...
- 关于window.location不跳转的问题
今天在码代码的时候遇到个问题:html里采用onclick事件来实现window.location = url的跳转,在内嵌元素上又加上了href="javascrit:;"的属性 ...
- IOS中利用宏将RGB值转换为UIColor(转)
可以在pch文件中定义宏,这样整个项目就都可以用了! #define UIColorFromRGBValue(rgbValue) [UIColor colorWithRed:((float)((rgb ...
- hdu 5626 Clarke and points 数学推理
Clarke and points Problem Description The Manhattan Distance between point A(XA,YA) and B(XB,YB) i ...
- Spring核心框架 - AOP的起源及介绍
一.AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析.他们研究出了一 ...
- delphi xe5 android 关于文件大小的几个问答O(∩_∩)O~
摘自:http://blogs.embarcadero.com/vsevolodleonov/2013/09/19/are-you-asking-about-app-size-by-delphi-fo ...
- 简单方法打包.net程序集脱离framework
最近业余捣鼓monogame,自然而然就关注到了.net程序脱离framework发布的问题上了, 度娘,谷歌娘 都经过一番查找,无非分为如下几类方法: 1.直接使用mono运行时,附带 bin.li ...
- .net和MVC中的json值和List<T>和DataTable的一些转换
1.List<T>集合转换为Json值 List<ReportModel> dtList = new List<ReportModel>(); JsonResult ...