`
Goldice
  • 浏览: 107745 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

watir-webdriver源码阅读

阅读更多
module Watir
class Browser
    def initialize(browser = :firefox, *args)
      case browser
      when Symbol, String
        @driver = Selenium::WebDriver.for browser.to_sym, *args
      when Selenium::WebDriver::Driver
        @driver = browser
      else
        raise ArgumentError, "expected Symbol or Selenium::WebDriver::Driver, got #{browser.class}"
      end
     
      @error_checkers = []
      @current_frame  = nil
      @closed         = false
     
    end
end
end
browser=Watir::Browser.new :ie
调用了Selenium::WebDriver来创建一个浏览器实例
    class << self
      def start(url, browser = :firefox)
        b = new(browser)
        b.goto url
        b
      end
    end
事实上也可以采用Watir::Browser.start "http://www.baidu.com",:ie
对ie,chrome均可用,不过对firefox会有报错,这里暂且不表。

再去看一下goto代码:
    def goto(uri)
      uri = "http://#{uri}" unless uri =~ URI.regexp

      @driver.navigate.to uri
      run_checkers

      url
    end
第一行利用正则进行匹配。
接下来利用了Selenium::WebDriver的navigate方法进行跳转。
来看下check机制:
    def run_checkers
      @error_checkers.each { |e| e.call(self) }
    end








分享到:
评论

相关推荐

    linux环境下watir-webdriver离线安装包

    在Linux环境下进行自动化测试时,Watir-Webdriver是一个非常有用的工具。它是一个Ruby库,允许用户使用Ruby语言控制浏览器,进行网页元素的交互和测试。Watir是“Web Application Testing in Ruby”的缩写,而...

    WATIR-WEBDRIVER自动化学习指导

    ### WATIR-WEBDRIVER自动化学习指导 #### 一、简介 WATIR-WEBDRIVER是一款基于Ruby语言的Web自动化测试框架,它能够帮助开发者和测试工程师编写高效的自动化测试脚本。WATIR(Web Application Testing In Ruby)与...

    watir-webdriver谷歌浏览器驱动

    ChromeDriver 是一款以 Google Chrome 为环境测试网站的工具,现已实现对开源的 WebDriver 通路协议的支持,因此可以轻松与现有的 WebDriver 测试工具相整合。不熟悉 WebDriver 的用户可以参考 2009 年的项目发布...

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份,设置环境变量后可使用(未测试)

    Watir-Webdriver最新安装文件(全)

    压缩包中包含目前2013/01/19最新的安装文件,有rubyinstaller-1.9.2-p136、DevKit-tdm-32-4.5.1-20101214-1400-sfx、rubygems-1.8.24、watir-4.0.2、watir-webdriver-0.6.2等文件,并附上简略安装说明。

    使用watir-webdriver删除百度空间所有文章的ruby脚本

    使用watir-webdriver删除百度空间所有文章的ruby脚本

    test_logger1.rar_Logger wat_ruby _watir_watir ruby_watir-webdriv

    标题中的“test_logger1.rar_Logger wat_ruby _watir_watir ruby_watir-webdriver”揭示了这个压缩包文件的内容。首先,“test_logger1”可能是一个测试项目或者测试脚本的名称,而“Logger”则指的是Ruby内置的日志...

    watir-cn中文补丁包

    watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn中文语言包 watir-cn...

    watir安装所需要的gem包

    对于"watir安装所需要的gem包",主要涉及的Gem包有`watir-webdriver`和`selenium-webdriver`。`watir-webdriver`是Watir的一个版本,它使用Selenium WebDriver作为后端,与浏览器进行通信。而`selenium-webdriver`则...

    watir-webdriver

    wairt-webdriver.aip包含了chromedriver.exe、DevKit。、IEDriverServer.exe rubyinstaller-2.1.5.exe、Ruby语言入门教程v1.0这几个文件,是使用wati-webdriver进行安装部署以及ruby语言学些所需要的必不可少的资料...

    watir-bonus-1.5.2

    通过阅读这些文档,开发者可以了解如何利用Watir-Bonus进行测试脚本的编写,找到具体的方法来执行各种测试任务。 2. **doc** - 这可能是更通用的文档,包括用户指南、教程或者案例研究,帮助初学者理解如何将Watir-...

    win7上搭建cucumber+watir自动化环境

    Watir-webdriver需要浏览器的WebDriver驱动,例如对于Internet Explorer,需要下载IEDriverServer,并将其放在Ruby安装目录下的bin文件夹中。同样,对于Chrome,需要下载ChromeDriver并放置在相同位置。 6. **环境...

    自动化测试框架

    1. **选择合适的工具和技术栈**:根据项目需求选择合适的编程语言(如Ruby)和测试框架(如Watir-WebDriver)。 2. **环境准备**:搭建必要的开发环境,例如安装Ruby、DevKit等。 3. **设计框架结构**:定义测试脚本...

    页面对象:在watir-webdriver和selenium-webdriver中实现PageObject模式的宝石

    它可以与watir和selenium-webdriver一起使用。 文献资料 项目是学习如何使用页面对象的第一个地方。 可以在上找到该项目的 。 要查看各个发行版之间的更改,请查看 要了解这种宝石的动机,请阅读此 有一本书...

    watir-bonus-1.5.1.1230.zip

    **标题:“Watir-Bonus-1.5.1.1230.zip”** 这个压缩包包含的是Watir的扩展版本1.5.1的1230次更新,名为“Bonus”。Watir(Web Application Testing in Ruby)是一个开源的Ruby库,用于自动化浏览器操作,它使得...

    domkey:Selenium Watir Webdriver 的域特定页面组件

    Selenium Watir-Webdriver 的域特定页面组件页面组件首先对特定语义域进行建模,然后对浏览器代码进行建模。 Watir-Webdriver 是蜜蜂的膝盖! 现在使用域特定页面组件工厂!用法Domkey 是一个库,可帮助您构建用于...

    IEDriverServer_Win32

    Watir(Web Application Testing In Ruby)是一种开源工具,允许通过Ruby代码自动化浏览器操作,而Watir-webdriver是其早期版本,用于与WebDriver接口进行集成。它为开发人员和测试人员提供了一种简单、面向对象的...

Global site tag (gtag.js) - Google Analytics