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编写测试用例的更多相关文章

  1. Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行

    Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工 ...

  2. Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例

    Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...

  3. Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子

    Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...

  4. Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置

    Selenium WebDriver + Grid2 + RSpec之旅(二) ----Grid2的配置 为什么要使用Selenium-Grid 分布式运行大规模的TestCase 能够通过一个中央节 ...

  5. Selenium WebDriver + Grid2 + RSpec之旅(一)----准备篇

    Selenium WebDriver + Grid2 + RSpec之旅(一)             ----准备篇 前言 在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模 ...

  6. Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)

    Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...

  7. Hexo之旅(四):文章编写技巧

    hexo 编写文章可以使用以下命令创建hexo new "文件名" #创建的文章会在_pots目录下文章的后缀名是以md命名的文件格式,遵循markdown语法,所以编写文章可以使 ...

  8. selenium webdriver学习(四)------------定位页面元素(转)

    selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElemen ...

  9. selenium webdriver (python) 第一版PDF

    前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在sel ...

随机推荐

  1. Oracle 关于定义约束 / 修改表结构 /修改约束

    ---约束分5种:主键 外键 唯一 非空 检查5类约束 Oracle中分列级别约束 与 表级别约束 列级别约束:在创建表时再列上面加约束 例如: create table table11( stuno ...

  2. postal.js使用

    requirejs.config({ //默认情况下模块所在目录为js/lib baseUrl: './', //当模块id前缀为app时,他便由js/app加载模块文件 //这里设置的路径是相对与b ...

  3. php练习1——计算器

    目标:输入两个数,计算两个数的和/差/积/商 程序如下:两个文件jiSuanQi.html和jiSuanQi.php    结果如下:  

  4. sql修改表结构、临时表应用

    alter table dbo.P_ZPROMOTION_DOC_ITEMS_TEMP alter column MCRANK  varchar(20); 方法一: use testdb --创建局部 ...

  5. js中的referrer返回上一页使用介绍

    js中的referrer的用法举例. js完整代码:  <script language="javascript">  var refer=document.refer ...

  6. CSS3的position:sticky介绍

    用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的时候让一部分内容保持可见,比如 ...

  7. 2D UI和3D UI的工作原理

    2D UI的工作原理 UI控件的位置在UI Root 的红框(视窗)上,也就是UI控件的z轴,相机的z轴,UI Root的z轴都是0,因为2D UI都是纯粹的2D图片按层次显示,不会不出现三维立体效果 ...

  8. 解决Matlab启动时 " Can't check 9.0 VCRTs The application has failed to start because……" 的错误

    注:转载或引用请注明出处 今天在winserver 2012 r2 上安装matlab 2016b , 安装完成运行时提示: ERROR: Cnn't check 9.0 VCRTs <star ...

  9. uva 12648

    一个简单的搜索: 反正树的结构不会变,只需要把节点的名称换一下就行: 可惜比赛的时候思路不清晰: #include<cstdio> #define maxn 5050 #include&l ...

  10. UVA 11737 Extreme Primitive Society

    非常容易的一个题: 只要判断两种基因相差的最小值就行: #include<cstdio> #include<cstring> #include<algorithm> ...