ruby+selenium自動化測試-----多個測試用

發表于:2012-09-04來源:Csdn作者:janne09點擊數: 標簽:ruby
在上一篇“邏輯與數據分離”中只有一個測試用例,在這篇中主要是針對多個用例。驗證用戶名、密碼全部錯誤;用戶名、密碼全部為空;用戶名為空;密碼為空,幾種情況登錄。

  在上一篇“邏輯與數據分離”中只有一個測試用例,在這篇中主要是針對多個用例。驗證用戶名、密碼全部錯誤;用戶名、密碼全部為空;用戶名為空;密碼為空,幾種情況登錄。

  1.D盤新建文件夾test005,文件結構與“邏輯與數據分離中一致”

  2.login_dialog.rb文件內容與上一篇“面向對象編程”面向對象編程”中login_dialog.rb內容一致

  3.login_main_page.rb文件內容與上一篇“面向對象編程”中login_main_page.rb一致

  4.login_data.yml文件中書寫如下內容:

  [ruby] view plaincopydata:

  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文件中編寫如下內容:

  [ruby] view plaincopy#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__)+'/../../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

  it "should should open soso url" do

  @dr.title.should eql (@problem["data"]["mainPage"]["title"])

  close_browser

  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"])

  close_browser

  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"])

  close_browser

  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"])

  close_browser

  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"])

  close_browser

  end

  end

  6.命令行執行命令:

  [ruby] view plaincopycd d:\test005

  rspec -f doc

  運行結果:

  [ruby] view plaincopysoso 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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97