`

脱离Rails环境用ruby对普通网页进行测试

阅读更多
也是一些普通的例子,抄回来以方便老猪自己好找。

普通的页面测试,需要一下包的支持
    require "rubygems"
    gem "selenium-client"
    require "selenium"



例子一,最简单的测试

    #!/usr/bin/env ruby
    #
    # Sample Ruby script using the Selenium client API
    #
    require "rubygems"
    gem "selenium-client", ">=1.2.16"
    require "selenium/client"

    begin
      @browser = Selenium::Client::Driver.new \
          :host => "localhost",
          :port => 4444,
          :browser => "*firefox",
          :url => "http://www.google.com",
          :timeout_in_second => 60

      @browser.start_new_browser_session
        @browser.open "/"
        @browser.type "q", "Selenium seleniumhq.org"
        @browser.click "btnG", :wait_for => :page
        puts @browser.text?("seleniumhq.org")
    ensure
      @browser.close_current_browser_session
    end


例子二, 使用Rails Unit test测试框架进行测试

    #!/usr/bin/env ruby
    #
    # Sample Test:Unit based test case using the selenium-client API
    #
    require "test/unit"
    require "rubygems"
    gem "selenium-client", ">=1.2.16"
    require "selenium/client"

    class ExampleTest < Test::Unit::TestCase
        attr_reader :browser

      def setup
        @browser = Selenium::Client::Driver.new \
            :host => "localhost",
            :port => 4444,
            :browser => "*firefox",
            :url => "http://www.google.com",
            :timeout_in_second => 60

        browser.start_new_browser_session
      end

      def teardown
        browser.close_current_browser_session
      end

      def test_page_search
                browser.open "/"
                assert_equal "Google", browser.title
                browser.type "q", "Selenium seleniumhq"
                browser.click "btnG", :wait_for => :page
                assert_equal "Selenium seleniumhq - Google Search", browser.title
                assert_equal "Selenium seleniumhq", browser.field("q")
                assert browser.text?("seleniumhq.org")
                assert browser.element?("link=Cached")
      end

    end


例子三, 使用rspec风格进行测试

    require 'rubygems'
    gem "rspec", "=1.2.6"
    gem "selenium-client", ">=1.2.16"
    require "selenium/client"
    require "selenium/rspec/spec_helper"

    describe "Google Search" do
        attr_reader :selenium_driver
        alias :page :selenium_driver

      before(:all) do
          @selenium_driver = Selenium::Client::Driver.new \
              :host => "localhost",
              :port => 4444,
              :browser => "*firefox",
              :url => "http://www.google.com",
              :timeout_in_second => 60
      end

      before(:each) do
        selenium_driver.start_new_browser_session
      end

      # The system capture need to happen BEFORE closing the Selenium session
      append_after(:each) do
        @selenium_driver.close_current_browser_session
      end

      it "can find Selenium" do
        page.open "/"
        page.title.should eql("Google")
        page.type "q", "Selenium seleniumhq"
        page.click "btnG", :wait_for => :page
        page.value("q").should eql("Selenium seleniumhq")
        page.text?("seleniumhq.org").should be_true
        page.title.should eql("Selenium seleniumhq - Google Search")
        page.text?("seleniumhq.org").should be_true
                page.element?("link=Cached").should be_true
      end

    end




例子四,seleinium测试

    require 'selenium/rake/tasks'

    Selenium::Rake::RemoteControlStartTask.new do |rc|
      rc.port = 4444
      rc.timeout_in_seconds = 3 * 60
      rc.background = true
      rc.wait_until_up_and_running = true
      rc.jar_file = "/path/to/where/selenium-rc-standalone-jar-is-installed"
      rc.additional_args << "-singleWindow"
    end

    Selenium::Rake::RemoteControlStopTask.new do |rc|
      rc.host = "localhost"
      rc.port = 4444
      rc.timeout_in_seconds = 3 * 60
    end


生产测试报告

    require 'spec/rake/spectask'
    desc 'Run acceptance tests for web application'
    Spec::Rake::SpecTask.new(:'test:acceptance:web') do |t|
     t.libs << "test"
     t.pattern = "test/*_spec.rb"
     t.spec_opts << '--color'
     t.spec_opts << "--require 'rubygems,selenium/rspec/reporting/selenium_test_report_formatter'"
     t.spec_opts << "--format=Selenium::RSpec::SeleniumTestReportFormatter:./tmp/acceptance_tests_report.html"
     t.spec_opts << "--format=progress"
     t.verbose = true
    end

地址如下:
http://ph7spot.com/examples/selenium_rspec_report.html



# To capture screenshots and logs on failures, also make sure you  require the following files in your `spec_helper`
    require "rubygems"
    require "spec"
    require "selenium/client"
    require "selenium/rspec/spec_helper"
分享到:
评论

相关推荐

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Ruby 1.8.x系列中,1.8.7是最常用的一个版本,因为它对性能进行了优化,同时兼容了许多当时的库和框架。Ruby 1.8.7引入了块参数、内建的JSON支持以及改进的错误处理机制等,使得开发者能够更高效地编写代码。 ...

    Ruby on Rails Tutorial

    在过去的几年中,《Ruby on Rails Tutorial》这本书被视为介绍使用 Rails 进行 Web 开发的先驱者。 在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on ...

    ruby on rails最新版

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...

    ruby on rails 环境搭建

    【Ruby on Rails 环境搭建】是开发者在进行Web应用程序开发时的首要步骤,尤其对于初学者至关重要。Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web开发框架,它采用MVC(Model-View-Controller)架构模式,...

    Ruby on Rails环境搭建(基于WinXP & RadRails)

    在本教程中,我们将深入探讨如何在Windows XP操作系统上搭建Ruby on Rails开发环境,特别强调使用RadRails作为集成开发环境(IDE)。Ruby on Rails(RoR)是一个强大的Web应用程序框架,它基于Ruby编程语言,提供了...

    Ruby+for+Rails

    - 使用TDD(测试驱动开发)和RSpec进行单元测试和集成测试。 - 保持代码整洁,遵循Rails风格指南。 通过阅读"Ruby for Rails.pdf"和"Ruby on Rails 初体验.ppt",你可以深入了解Ruby on Rails的各个方面,包括其...

    Ruby for Rails

    第二部分和第三部分与 Rails紧密联系,着重对Ruby这门语言进行详细介绍;所采用的Rails应用示例,既说明了Ruby的特性,也给出了有关Rails的重要信息。第四部分讲述了如何应用第二部分和第三部分的Ruby知识来开发...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    ruby on rails 101

    - **测试**:介绍如何为Ruby on Rails项目编写单元测试和集成测试。 - **AJAX**:学习如何在Ruby on Rails应用中集成异步JavaScript和XML技术。 - **部署、安全与性能**:讲解如何部署Ruby on Rails应用、实施安全...

    Ruby on Rails实践

    例如,ActiveRecord是Rails中的一个关键组件,它提供了ORM(Object-Relational Mapping)功能,允许开发者用Ruby对象直接操作数据库,无需编写SQL语句。 在Rails中,路由(Routes)是连接URL与控制器动作的桥梁。...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    ruby on rails api

    Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的代码和“约定优于配置”的原则。它主要用于构建数据驱动的Web应用,借助于MVC(Model-View-Controller)...

    rails2.3.8 && ruby1.8.7

    标题中的"rails2.3.8 && ruby1.8.7"指的是Ruby on Rails框架的2.3.8版本和Ruby编程语言的1.8.7版本。Ruby on Rails(通常简称为Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构...

    ruby on rails 3 tutorial.pdf

    你将学习ActiveRecord,它是Rails提供的一个ORM(Object-Relational Mapping)工具,允许你用Ruby代码操作数据库。 在控制器(Controllers)部分,你将学习如何处理HTTP请求,组织应用逻辑,并将数据传递给视图...

    opal-rails, 将 ruby 带到Opal的Rails Rails 绑定.zip

    opal-rails, 将 ruby 带到Opal的Rails Rails 绑定 蛋白石 Rails 用于蛋白石 ruby 引擎的 Rails 绑定。 ( 变更日志 )安装在你的Gemfile 中gem 'opal-rails'或者当你构建新的Rails 应用程序时:rails

    Ruby on Rails安装包全集(Linux)

    在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,帮助用户在Linux系统上顺利构建RoR开发环境。 1. **readline-5.1.tar.gz**: 这是Readline库的源代码包,它提供了一种交互...

    ruby on rails for dummies

    《Ruby on Rails for Dummies》这本书将引导读者从安装Ruby和Rails环境开始,逐步学习如何创建模型、视图和控制器(MVC架构),搭建数据库,使用路由系统,以及实现CRUD(Create, Read, Update, Delete)操作。...

Global site tag (gtag.js) - Google Analytics