0

rspecにセレンスイートがあります。

複数のケースを実行し、それらの間でブラウザーを開いてログインしたままにするにはどうすればよいですか?

Selenium IDE には、約 20 のユニット ケースで構成されるテスト スイートがあります。

個々のテスト ケースとテスト スイート ファイル自体の両方を ruby​​/rspec にエクスポートしました。

個々のテストを実行でき、合格します。

rspec spec/2day/units/set_QA_district_name_spec.rb

ただし、変換されたスイートをいずれかで実行しようとしたとき

rake spec

また

rspec spec/2day/complete_district_suite_spec.rb 

テストごとにアプリケーションを起動 (および終了) することで、各仕様を 1 つずつ実行します。

スイートを実行し、ブラウザーを「維持」して、テストからテストへとログインし、実行する単体テストごとにブラウザー ウィンドウを開いたり閉じたりしないようにするにはどうすればよいですか。

これらのテストは、作成したスタンドアロン ディレクトリで実行する必要があります。これらのテストは、残りのアプリケーション テスト領域から分離しておく必要があるためです。つまり、Rails 自体を一切使用しないようにする必要があります。

次のように、これらのファイルのルート ディレクトリに次の Gemfile / spec_helper / Rake ファイルを設定しました。

Gemfile:

gem 'rspec'
gem 'selenium-webdriver'

spec_runner.rb:

require "selenium-webdriver"
require 'rspec'

レーキファイル

require 'rspec'
require 'rspec/core/rake_task'
desc "Run all examples"
RSpec::Core::RakeTask.new(:spec) do |t|
  t.ruby_opts = %w[-w]
  t.rspec_opts = %w[--color]
end

complete_district_suite.rb の内容は次のとおりです。

ENV['RSPEC_COLOR'] = 'true'

require File.join(File.dirname(__FILE__),  "units/set_QA_district_name_spec.rb")
require File.join(File.dirname(__FILE__),  "units/set_file_uploads_source_location_spec.rb")
require File.join(File.dirname(__FILE__),  "units/district_spec.rb")
require File.join(File.dirname(__FILE__),  "units/select_district_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_service_types_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_services_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_grades_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_schools_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_classrooms_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_students_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_ieps_spec.rb")
require File.join(File.dirname(__FILE__),  "units/upload_travel_spec.rb")
require File.join(File.dirname(__FILE__),  "units/manual_add_student_spec.rb")
require File.join(File.dirname(__FILE__),  "units/generate_basic_schedule_spec.rb")
require File.join(File.dirname(__FILE__),  "units/wait_for_dss_to_finish_spec.rb")
require File.join(File.dirname(__FILE__),  "units/view_schedules_spec.rb")
require File.join(File.dirname(__FILE__),  "units/visit_first_schedule_spec.rb")
require File.join(File.dirname(__FILE__),  "units/monday_1pm_new_appt_spec.rb")
require File.join(File.dirname(__FILE__),  "units/tuesday_2pm_new_5_students_spec.rb")
require File.join(File.dirname(__FILE__),  "units/wednesday_9am_5pm_new_1_student_spec.rb")
require File.join(File.dirname(__FILE__),  "units/thursday_9am_10am_new_1_manual_add_student_spec.rb")
require File.join(File.dirname(__FILE__),  "units/friday_10am_11am_new_5_students_spec.rb")
4

1 に答える 1