ruby - 对具有不同子域的多个网站运行 selenium 测试

标签 ruby selenium selenium-webdriver selenium-ruby

当我在 ruby​​ 文件中硬编码一个 URL 以便 Selenium 执行时,我有一个测试正在工作,但是我需要对多个具有不同子域的 URL 运行相同的测试

当我运行以下命令时,我收到一个错误,指出 split 是一种未知方法

require 'rubygems'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome

pageLoad = sleep 1
subD = ARGV.split(",")
instances = []
subD.each do |test|
  instances << test
end
instances.each do |cub|
url = 'http://' + sub + '.test.com'
driver.get url
puts "#{url}"

begin
  driver.find_element(:id, 'user_login').send_keys 'user 1'
  driver.find_element(:id, 'user_password').send_keys 'password1'
  driver.find_element(:id, 'login_button').click
  puts 'Logging In'
rescue StandardError
  puts 'Unable to login'
end
pageLoad
puts 'Test Complete'
sleep 5
end
driver.quit

这是错误

test.rb:8:in `<main>': undefined method `split' for ["test1,test2,test3"]:Array (NoMethodError)

正在输入

ruby test.rb test1,test2,test3

最佳答案

ARGV 是一个数组而不是字符串,您要么需要单独传递每个子域,然后迭代 ARGV,要么使用 ARGV[0] 访问 ARGV 的第一个成员

关于ruby - 对具有不同子域的多个网站运行 selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73376741/

相关文章:

ruby - 双叉和标准输入

java - 无法单击 Paypal 按钮继续使用 Selenium

java - 为什么我在webDriver中找不到 'Function'函数?

ruby - HTTParty::get 返回什么?

ruby-on-rails - 如何将 user_id 的隐藏字段传递给评论?

html - 遍历 Rails 对象和数组

python-3.x - Selenium 的 .text 只是给出空行

python - Selenium 无法打开指定的 URL 并显示数据 :,

c# - 在 Selenium 中启用扩展启动 firefox

python - 如何通过 Selenium 摆脱信息栏 "Chrome is being controlled by automated test software"