• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

应用Selenium和Ruby进行面向领域的Web测试[2]

发布: 2010-5-12 10:28 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 164次 | 进入软件测试论坛讨论

领测软件测试网

  应用SeleniumRuby进行面向领域的Web测试[2]   软件测试

  2. Assertation

  只有行为还构不成测试,我们还要判断行为结果,并进行一些断言。简单回顾一下上面的例子,会发现还有一些很重要的问题没有解决: 我怎么判断登录成功了呢?我如何才能知道真的是处在登录页面了呢?如果我调用下面的代码会怎样呢?

  $selenium.open url_of_any_page_but_not_login

  on LoginPage {}

  因此我们还需要向page object增加一些断言性方法。至少,每个页面都应该有一个方法用于判断是否真正地达到了这个页面,如果不处在这个页面中的话,就不能进行任何的业务行为。下面修改LoginPage使之包含这样一个方法:

  LoginPage.class_eval do

  include Test::Unit::Asseration

  def visible?

  @driver.is_text_present() && @driver.get_location ==

  end

  end

  在visible?方法中,我们通过对一些特定的页面元素(比如URL地址,特定的UI结构或元素)进行判断,从而可以得之是否真正地处在某个页面上。而我们目前表达测试的基本结构是由on方法来完成,我们也就顺理成章地在on方法中增加一个断言,来判断是否真的处在某个页面上,如果不处在这个页面则不进行任何的业务操作:

  def on page_type, &block

  page = page_type.new $selenium

  assert page.visible?, "not on #{page_type}"

  page.instance_eval &block if block_given?

  page

  end

  这个方法神秘地返回了page对象,这里是一个比较取巧的技巧。实际上,我们只想利用page != nil这个事实来断言页面的流转,比如,下面的代码描述登录成功的页面流转过程:

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: ruby Ruby selenium Selenium web Web WEB 领域 应用

31/3123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网