ユーザー資格情報をテストするスクリプトを実行しようとしていますが、'require' に関するエラーが発生し続けます。このスクリプトは、ユーザー名とパスワードの csv を取得し、サイトにログインして、合格/不合格リストにグループ化します。
スクリプトは私が書いたものではありません。外部のコーダーから提供されたものです。私はいくつかの CS101 クラスを受講し、それが何をしているかを解析し、さまざまなドメインと資格情報ファイルに合わせて変更することができますが、私はまったくの Ruby 初心者です。
=========================
require 'selenium-webdriver'
require 'rubygems'
require 'csv'
pass_file = File.open('pass.txt', 'w')
fail_file = File.open('fail.txt', 'w')
in_file = File.open('test credentials.csv', 'r')
pass_file.puts "xxxxxx"
fail_file.puts "xxxxxx"
CSV.foreach(in_file, :col_sep => ',') do |row|
driver = Selenium::WebDriver.for :firefox
driver.get 'https://www.xxxxxx.com/'
driver.find_element(:id => 'UserNameEntry').send_keys row[0]
driver.find_element(:id => 'UserPasswordEntry').send_keys row[1]
driver.find_element(:id => 'xxxxxxlNameEntry').clear
driver.find_element(:id => 'xxxxxxNameEntry').send_keys "xxxxxx"
driver.find_element(:xpath => '//*[@id="cmdLoginButton"]/span').click
driver.switch_to.window(driver.window_handles[1])
if driver.title == "Welcome!"
pass_file.puts row[0]
elsif driver.title == "Login Unsuccessful"
fail_file.puts row[0]
end
driver.quit
end
==================
実行すると、最初は「require」: no such file to load -- selenium-webdriver (LoadError) from xxxxx.rb:1 というメッセージが表示されました
次に、宝石の要件が最初に来る必要があることをフォーラムで読みました。require 'selenium-webdriver' の前に require 'rubygems' を配置した後、次のエラーが発生します。
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/csv.rb:308:in initialize': can't convert File into String (TypeError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/csv.rb:308:in
open' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ lib/ruby/1.8/csv.rb:308:in open_reader'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/csv.rb:94:in
foreach'
私はとても混乱しています...助けていただければ幸いです。