• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ruby+selenium-webdriver一步一步完成自动化测试(5)—–多个测试用例 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在上一篇“逻辑与数据分离”中只有一个测试用例,在这篇中主要是针对多个用例。验证用户名、密码全部错误;用户名、密码全部为空;用户名为空;密码为空,几种情况登录。

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:\test005

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

  运行通过


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
rubyonrails在model中使用enum的注意事项发布时间:2022-07-14
下一篇:
certificateverifyfailed(https://gems.ruby-china.org/specs.4.8.gz)发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap