我是Ruby和Rspec的新手。我只是按照以下步骤操作。
我在test.tb文件中添加了以下代码(已经为selenium-webdriver和rspec安装了gem。如下面的屏幕快照所示。
右键单击test.rb并选择Run'test'。
获得下面的输出,如下面的屏幕快照所示。作为新手,我看不到代码有任何问题。但是它甚至没有启动Firefox浏览器,也没有打印到控制台。
我在这里想念东西吗?
我认为您做错了。
在您的项目根文件夹中,添加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'
在项目根目录中创建spec/
目录
在项目根目录中为硒油日志创建log/
目录。
创建具有如下配置的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
上面的代码将设置rspec,capybara。您可以根据需要更改驱动程序,主机和其他配置。
现在创建一个新的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
然后从项目根目录运行:bundle exec rspec spec/features/test.rb
。