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

ruby+selenium-webdriver一步一步完成自动化测试(4)—–逻辑与数据分离 ...

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

上一篇面向对象编辑,貌似这个用例已经很完美,但是还有不完善的地方,测试数据(用户名、密码、断言的判断数据)还是硬编码,要想做的更完美,实现逻辑与数据分离,这才是自动化测试的真谛。

方法:运用yaml,读取配置文件中测试数据

1.D盘新建文件夹test004,test004文件夹下创建文件夹action、config、spec、tool。

action文件夹中新建文件login_main_page.rb

config文件夹中新建文件login_data.yml

spec文件夹中新建文件login_spec.rb

tool文件夹中新建文件login_dialog.rb

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: 您输入的帐号或密码不正确,请重新输入。意见反馈

5.login_spec.rb文件中编写如下内容:

#encoding: utf-8
require "rspec"
require 'yaml'
require 'selenium-webdriver'  

require File.dirname(__FILE__)+'/../action/login_main_page'
require File.dirname(__FILE__)+'/../tool/login_dialog'  

describe "soso login" do
  include LoginDialog
  before(:all) do
    @problem=YAML.load(File.open(File.dirname(__FILE__)+'/../config/login_data.yml'))
    @dr=Selenium::WebDriver.for :firefox
    @url=@problem["data"]["mainPage"]["url"]
    #@url='http://www.soso.com'
    @dr.get @url
  end
  before(:each) do
    @login_element=LoginMainPage.new(@dr)
  end
  after(:each) do
      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"])
  end
end

  

6.命令行运行命令:

 

cd d:\test004

rspec -f doc

得到如下结果:

soso login
  should return username and password is wrong  

Finished in 9.23 seconds
1 example, 0 failures

  运行通过


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
一步一步学Ruby(十):Ruby正则表达式(下)发布时间:2022-07-14
下一篇:
[脚本_Ruby]Windows安装配置Ruby On Rails发布时间: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