使用 ruby 1.9.2、Selenium-client 和 rspec(无导轨)进行独立测试



有没有人成功地建立了一个独立的环境来使用Ruby 1.9.2,Selenium-client和rspec来测试NON-RAILS网站。

我已经在网上搜索过,但我似乎无法得到神奇的公式。 存在 gem 版本冲突、缺少库等。 在这一点上,我完全困惑了。

基本问题:我有许多测试套件和测试使用SeleniumIDE 1.0.10用于非RAILS应用程序(IIS/ASP)。 我只是想使用 SeleniumIDE 可以提供的转换测试并使用 ruby 或更好的 rake 运行它们。 (请注意,SeleniumIDE 可以创建 RSpec 或测试/单元测试,我很想让任何一个工作)。

据我了解,Selenium客户端具有启动/停止SeleniumRC服务器和运行测试的耙子任务。 但对于我的生活,我无法做到这一点。

如果需要,我可以提供更多信息。 但是,在这一点上,我很高兴知道有人也在走这条路。

-谢谢!

附言我这样做是将 IIS/ASP 应用程序与 rails 混合并迭代进行完全转换的前奏。 如果我不能迈出第一步,我的老板就会否定去轨道的整个想法,所以请帮忙;-)

你需要 gem 安装 'rspec' 和 'selenium-client'。 我安装了 ruby 1.9.2,是的,我使用 rvm。对于firefox_version胡说八道,我深表歉意。 我的Macbook上安装了多个火狐版本。 如果您安装了单个火狐浏览器,则只需指定 :browser => "*火狐"

您需要打开两个终端窗口。 首先,启动硒服务器.jar。

在第二个窗口中,cd 到包含 rspec_hello.rb 的目录,然后输入Ruby ./rspec_hello.rb

这里是rspec_hello.rb

    require "rubygems"         # >= 1.8.12
    require 'rspec'            # >= 2.1.0
    require "selenium/client"  # >= 1.2.18
    describe "google" do
      # attr_reader :selenium_driver
      @selenium_driver = nil
      before(:each) do
        firefox_version = 3
        firefox_path = "/Applications/Firefox" + firefox_version.to_s + ".app/Contents/MacOS/firefox-bin"
        @selenium_driver = Selenium::Client::Driver.new 
          :host => "localhost",
          :port => 4444,
          :browser => "*firefox #{firefox_path}",
          :url => "http://www.google.com/",
          :timeout_in_second => 60
          @selenium_driver.start
      end
      after(:each) do
        puts " "
        puts "goodbye world"
        @selenium_driver.close_current_browser_session
      end
      it "test google" do
        puts "hello world"
        @selenium_driver.open "/"
        @selenium_driver.type "q", "selenium wiki"
        @selenium_driver.click "btnG"
        @selenium_driver.wait_for_text("Selenium Wiki")
    @selenium_driver.text?("Selenium Wiki").should be_true
  end
end

您是否考虑过使用 rvm 创建沙盒环境并打包程序为您管理依赖项?

我在使用rails时使用rvm和bundler。 对于我在这个问题中关注的项目,我不想有一个单独的环境来独立测试旧的东西(IIS/ASP)。

因此,我决定使用 Test:Unit Selenium 转换而不是 RSpec,以及一些 rake 任务,在与混合项目相同的环境中独立进行测试。

这是有道理的,因为几乎所有这些硒测试都在测试混合系统的 OLD 一半,并且将被 rspec/黄瓜/水豚测试替换为 NEW rails 代码,因为它被集成,直到 OLD 一半(以及独立测试)不再存在。

NEW Integrated rails项目中仍然有硒的用途,特别是对于AJAX测试。

有关示例,请参阅此 railscast。

相关内容

  • 没有找到相关文章

最新更新