常用函数举例

本文介绍了使用Ruby Watir库进行Web自动化测试的方法,包括页面截图、文本验证等实用技巧,并对比了require、load与include的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、screen_capture应用实例

  require 'watir'

  require 'watir/screen_capture'

  include Watir::ScreenCapture  

  ie = Watir::IE.start("http://10.0.0.125:8080/login.htm")

  screen_capture("F:\\ruby\\lxgoogle.jpg", false, false)

二、contains_text 应用实例

require 'watir' 

ie = Watir::IE.start("http://blog.youkuaiyun.com/testing_is_believing") 

if ie.contains_text("HelloWorld - Watir")    

  puts "Test passed. Page contains the text: HelloWorld - Watir"

else    

  puts "Test failed! Page didn't contain text: HelloWorld - Watir"  

end

问题:为什么screen_captureinclude Watir::ScreenCapturecontains_text不需include Watir::PageContainer

 

三、text.include?应用实例

require 'watir'

  ie = Watir::IE.start("http://10.0.0.10:8080/login.htm")

  if ie.text.include?("eBay")

    puts("TEST PASSED. Found test string 'eBay' ")

  else

    puts ss

  end

四、assert应用实例

require 'watir'

require 'test/unit'

class TC_article_example < Test::Unit::TestCase

  def test_search

    browser = Watir::Browser.new

    browser.goto("http://www.google.com/ncr")

    browser.text_field(:name, "q").set("pickaxe")

    browser.button(:value, "Google Search").click

    assert(browser.text.include?("Programming Ruby: The Pragmatic Programmer's Guide"))

  end

end

 

五、require, load,include的区别

ruby中在一个model中不可以引用另外一个model,我们可以通过使用require,引入一个新
model,然后通过操作这个model的其他方法实现我们想要实现的东西。

对于include其实我感觉有点继承的味道,一般要先把某个类引入进来,也就是说require 'xxoo.rb'然后在 include Module1,注意include后面一定是不能带引号的.对于include进来的Module,我们可以
直接使用其方法,如果是Module中的类方法,我们可以通过使用Module.method使用module中的方法.

require, load,include都是Kernel模块中的方法,他们的区别如下:
lrequireload用于包含文件,include则用于包含的模块。
lrequire加载一次,load可加载多次。
lrequire加载Ruby代码文件时可以不加后缀名,load加载代码文件时必须加后缀名。
lrequire一般情况下用于加载库文件,而load用于加载配置文件。

 

1. `$.ajax()`:用于发送异步请求,可以通过该函数发送 GET、POST 等类型的请求,并在请求成功或失败时执行相应的回调函数。 2. `$.get()`:用于发送 GET 请求,可以通过该函数向服务器获取数据,并在请求成功时执行相应的回调函数。 3. `$.post()`:用于发送 POST 请求,可以通过该函数向服务器提交数据,并在请求成功时执行相应的回调函数。 4. `$.fn.extend()`:用于扩展 jQuery 的功能,可以通过该函数定义自己的插件。 5. `$.fn.data()`:用于设置或获取元素的数据,可以通过该函数向元素添加自定义数据,并在需要时获取这些数据。 6. `$.fn.attr()`:用于设置或获取元素的属性,可以通过该函数修改元素的属性值或获取属性值。 7. `$.fn.css()`:用于设置或获取元素的样式,可以通过该函数修改元素的样式或获取样式值。 8. `$.fn.show()`:用于显示元素,可以通过该函数将元素从隐藏状态显示出来。 9. `$.fn.hide()`:用于隐藏元素,可以通过该函数将元素从显示状态隐藏起来。 10. `$.fn.addClass()`:用于向元素添加类名,可以通过该函数为元素添加一个或多个类名。 11. `$.fn.removeClass()`:用于从元素中移除类名,可以通过该函数从元素中移除一个或多个类名。 12. `$.fn.toggleClass()`:用于切换元素的类名,可以通过该函数在元素的类名中添加或移除指定的类名。 13. `$.fn.val()`:用于设置或获取表单元素的值,可以通过该函数设置表单元素的值或获取表单元素的当前值。 14. `$.fn.text()`:用于设置或获取元素的文本内容,可以通过该函数设置元素的文本内容或获取元素的当前文本内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值