ruby+selenium自动化测试:编写一个测试用例

发表于:2012-09-05来源:Csdn作者:janne09点击数: 标签:ruby
上一篇的小例子可以正常执行通过,但是这并不代表就可以按照这个思路写测试代码了。自动化测试与手工测试是一样的,要有测试用例,有执行有结果,但是上一篇的例子里并没有。

  上一篇的小例子可以正常执行通过,但是这并不代表就可以按照这个思路写测试代码了。自动化测试与手工测试是一样的,要有测试用例,有执行有结果,但是上一篇的例子里并没有。

  众所周知,java开发用JUnit进行单元测试、C#开发用NUit进行单元测试,selenium-webdriver也需要一个这样的测试框架来执行测试用例,这个框架可以用test::Unit,也可以用文中所用的rspec

  目标:利用测试框架rspec创建一个测试用例,运行上一节的代码

  1.D盘下新建目录test002

  2.test002中新建文件夹spec

  3.打开编辑器SciTE新建一个文件

  4.文件中编写如下代码

  [ruby] view plaincopy#encoding: utf-8

  require 'selenium-webdriver'

  describe "soso mainpage login" do

  it "should return username and password is wrong" do

  dr=Selenium::WebDriver.for :firefox

  url='http://www.soso.com'

  dr.get url

  links=dr.find_element(:id=>'ua').find_elements(:css=>'a')

  links[1].click

  links[1].send_keys(:enter)

  dr.switch_to.frame('login_frame')

  sleep 2

  dr.find_element(:id=>'u').send_keys("test")

  dr.find_element(:id=>'p').send_keys("test")

  dr.find_element(:id=>'login_button').click

  dr.find_element(:id=>'err_m').text.should eql ("您输入的帐号或密码不正确,请重新输入。意见反馈")

  end #it

  end #describe

  5.保存文件至d:\test002\spec文件夹下,文件名为:soso_login_spec.rb

  6.命令行执行命令:

  [plain] view plaincopycd D:\test002\

  rspec -f doc

  看到结果:

  [plain] view plaincopysoso mainpage login

  should return username and password is wrong

  Finished in 11.06 seconds

  1 example, 0 failures

  证明测试用例运行成功

原文转自:http://www.ltesting.net