我试图执行一个脚本来测试一些用户凭据,并且我不断收到有关'require'的错误。该脚本获取csv用户名和密码,将它们记录到站点中,并将它们分组到通过/失败列表中。Ruby'需要'错误与Selenium webdriver脚本
我承认我没有写脚本 - 它是由外部编码器提供给我们的。我已经采用了一些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
============== ====
当我运行它,起初我是越来越“'需要':没有这样的文件来加载 - 硒的webdriver(LoadError) 从xxxxx.rb:1
然后我读在一个论坛上,宝石的要求应该是第一个。在要求'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'
我感觉很困惑...任何帮助表示赞赏。