zoukankan      html  css  js  c++  java
  • 用rspec执行自动化测试用例

      rspec是一款行为驱动开发(BDD)的工具,不过在这里用于测试,准确来说应该是测试驱动开发(TDD)吧。事实上我也没搞清楚。作为初学者不清楚就不清楚吧,以后会知道的。写博客无非就是写写学习笔记,不纠结了。

    一、安装rspec

      在安装好gem的基础上直接使用以下命令就可以安装了

    gem install rspec
    

      安装好之后可以检查一下安装是否成功,出现版本号则安装成功

    rspec -v
    

    二、使用rspec的知识准备

    describe:定义用例组(test cases)

    it:定义用例(example)

    expect:断言

    一个用例组可以包含多个测试用例

    三、一个简单的例子

      在本地建立一个文件夹,创建一个rb文件,example_spec.rb,这里要注意的是命名一定要以_spec结尾,才能被解析。

    #encoding: gbk
    
    require 'selenium-webdriver'
    
    describe "验证登录是否成功" do
    	it "should have 右上角用户名 on the page" do
    		dr = Selenium::WebDriver.for:firefox
    		url = "http://www.baidu.com"
    		dr.get url
    		dr.find_element(:xpath =>%Q{//*[@id='u1']/a[6]}).click
    		dr.find_element(:id,'TANGRAM__PSP_8__userName').send_keys('XXXXXXXXX@qq.com')
    		dr.find_element(:id,'TANGRAM__PSP_8__password').send_keys('XXXXXXXX')
    		dr.find_element(:id,'TANGRAM__PSP_8__submit').click
    		sleep 3
    		expect(dr.find_element(:class,'user-name')).to be_displayed
    	end #it
    end #describe
    

      上述例子是一个用例组中包含一个验证登录百度是否成功的测试用例,很简单,简单说明了describe、it和expect的使用。执行测试用例需要在命令窗口,去到该rb文件所在目录下,输入

    rspec -f doc test_spec.rb即可执行,如下图,没有failures说明用例通过了。事实上也不知道这个例子恰不恰当,先记下来再说。

  • 相关阅读:
    CF1592F2 Alice and Recoloring 2
    CF1601E Phys Ed Online
    AGC050B Three Coins
    [学习笔记]珂朵莉树(Old Drive Tree)
    CF30E. Tricky and Clever Password
    [学习笔记]替罪羊树
    开源项目MiniOA队员招募通知
    MiniOA开发过程记录(33)自动登录模式
    MiniOA开发过程记录(29)安装Maven
    简易工作流设计思考(欢迎补充和批评)
  • 原文地址:https://www.cnblogs.com/bughunter/p/4268143.html
Copyright © 2011-2022 走看看