您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
ruby+selenium-webdriver自动化测试系列
作者:网络转载 发布时间:[ 2013/4/11 14:06:04 ] 推荐标签:

多个测试用例

1.D盘新建文件夹test005,文件结构与“逻辑与数据分离中一致”

2.login_dialog.rb文件内容与上一篇“面向对象编程”中login_dialog.rb内容一致

3.login_main_page.rb文件内容与上一篇“面向对象编程”中login_main_page.rb内容一致

4.login_data.yml文件中编写如下内容:
 
data:
  mainPage:
    url: http://www.soso.com
    title: 搜搜更懂你
 
  login:
    wrong:
      username: test
      password: test
      message: 您输入的帐号或密码不正确,请重新输入。意见反馈
 
    allNotExist:
      username:
      password:
      message: 您还没有输入帐号!意见反馈
 
    usernameNotExist:
      username:
      password: test
      message: 您还没有输入帐号!意见反馈
 
    passwordNotExist:
      username: test
      password:
      message: 您还没有输入密码!意见反馈

  5.login_spec.rb文件中编写如下内容:
 
#encoding: utf-8
require "rspec"
require 'yaml'
require 'selenium-webdriver'
 
require File.dirname(__FILE__)+'/../tool/login_dialog'
require File.dirname(__FILE__)+'/../action/login_main_page'
 
describe "soso login" do
  include LoginDialog
  #before(:all) do
  #  @problem=YAML.load(File.open(File.dirname(__FILE__)+'/http://www.cnblogs.com/sosoLogin/config/login_data.yml'))
  #  @dr=Selenium::WebDriver.for :firefox
  #  @url=@problem["data"]["mainPage"]["url"]
  #  @dr.get @url
  #end
  before(:each) do
    @problem=YAML.load(File.open(File.dirname(__FILE__)+'/../config/login_data.yml'))
    @dr=Selenium::WebDriver.for :firefox
    @url=@problem["data"]["mainPage"]["url"]
    @dr.get @url
    @login_element=LoginMainPage.new(@dr)
  end
  after(:each) do
     close_browser
  end
  it "should should open soso url" do
    @dr.title.should eql (@problem["data"]["mainPage"]["title"])
  end
 
  it "should return username and password is wrong" do
    @login_element.login(@problem["data"]["login"]["wrong"]["username"],@problem["data"]["login"]["wrong"]["password"])
    err_message.should eql (@problem["data"]["login"]["wrong"]["message"])
  end
 
  it "should return username and password are not exist" do
    @login_element.login(@problem["data"]["login"]["allNotExist"]["username"],@problem["data"]["login"]["allNotExist"]["password"])
    err_message.should eql (@problem["data"]["login"]["allNotExist"]["message"])
  end
 
  it "should return username is not exist" do
    @login_element.login(@problem["data"]["login"]["usernameNotExist"]["username"],@problem["data"]["login"]["usernameNotExist"]["password"])
    err_message.should eql (@problem["data"]["login"]["usernameNotExist"]["message"])
  end
 
  it "should return password is not exist" do
    @login_element.login(@problem["data"]["login"]["passwordNotExist"]["username"],@problem["data"]["login"]["passwordNotExist"]["password"])
    err_message.should eql (@problem["data"]["login"]["passwordNotExist"]["message"])
  end
end

6.命令行运行命令:

cd d: est005

rspec -f doc

得到如下结果:
?
soso login
  should should open soso url
  should return username and password is wrong
  should return username and password are not exist
  should return username is not exist
  should return password is not exist
 
Finished in 49.11 seconds
5 examples, 0 failures

  运行通过

上一页1234567下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd