无法启动Firefox浏览器并在RubyMine中使用RSpec运行测试

问题描述 投票:0回答:1

我是Ruby和Rspec的新手。我只是按照以下步骤操作。

  • 单击RubyMine中的新项目
  • 将标题设为Selenium2(只是一些随机名称)
  • 我正在使用ruby 2.7.1
  • 在Selenium2文件夹下创建了一个新目录'src'
  • 添加了test.rb文件
  • 我在test.tb文件中添加了以下代码(已经为selenium-webdriver和rspec安装了gem。如下面的屏幕快照所示。

  • 右键单击test.rb并选择Run'test'。

获得下面的输出,如下面的屏幕快照所示。作为新手,我看不到代码有任何问题。但是它甚至没有启动Firefox浏览器,也没有打印到控制台。

我在这里想念东西吗?

enter image description here

ruby selenium-webdriver rspec rubymine
1个回答
0
投票
下创建了一个新目录'src'

我认为您做错了。

  1. 在您的项目根文件夹中,添加Gemfile文件,此Gemfile可以具有以下内容:

    source 'https://rubygems.org'
    git_source(:github) { |repo| "https://github.com/#{repo}.git" }
    
    ruby '2.6.5'
    
    gem 'rspec', '~> 3.9'
    gem 'capybara', '~> 3.30'
    gem 'selenium-webdriver', '~> 3.142', '>= 3.142.6'
    
  2. 在项目根目录中创建spec/目录

  3. 在项目根目录中为硒油日志创建log/目录。

  4. 创建具有如下配置的spec/spec_helper.rb文件:

    # frozen-string-literal: true
    
    require 'rspec'
    require 'capybara/rspec'
    require 'capybara/dsl'
    require 'selenium-webdriver'
    
    Selenium::WebDriver.logger.level = :debug
    Selenium::WebDriver.logger.output = File.dirname(Dir.pwd) + '/project_dir_name/log/selenium.log'
    
    Capybara.register_driver :firefox do |app|
      Capybara::Selenium::Driver.new(app, browser: :firefox)
    end
    
    Capybara.default_driver = :firefox
    Capybara.javascript_driver = :firefox
    Capybara.app_host = 'http://127.0.0.1:3005'
    Capybara.default_max_wait_time = 10
    
    RSpec.configure do |config|
      config.before(:each) do
        config.include Capybara::DSL
      end
    end
    
  5. 上面的代码将设置rspec,capybara。您可以根据需要更改驱动程序,主机和其他配置。

  6. 现在创建一个新的spec/features/test.rb文件,如下所示:

    require 'spec_helper'
    
    describe 'Google homepage test', js: true do
      before(:each) do
        visit('https://google.com')
      end
    
      describe "First test" do
        it "check title" do
          expect(page.title).to be == "some text"
        end
      end
    end
    
  7. 然后从项目根目录运行:bundle exec rspec spec/features/test.rb

© www.soinside.com 2019 - 2024. All rights reserved.