gpt4 book ai didi

jquery - Selenium 测试中 $ 未定义错误

转载 作者:行者123 更新时间:2023-12-01 04:07:56 24 4
gpt4 key购买 nike

我正在尝试使用 Selenium 在 Rails 3.2 应用程序中测试 jQuery 自动完成功能。正在关注this blog post我创建了一个 fill_autocomplete 辅助方法,如下所示:

def fill_autocomplete(field, options = {})
fill_in field, with: options[:with]

page.execute_script %Q{ $('##{field}').trigger('focus') }
page.execute_script %Q{ $('##{field}').trigger('keydown') }
end

当我运行 RSpec 时,出现此错误:

Failure/Error: fill_autocomplete 'crop', with: 'm'
Selenium::WebDriver::Error::JavascriptError:
$ is not defined

问题行是page.execute_script %Q{ $('##{field}').trigger('focus') }

<小时/>

spec_helper.rb

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'coveralls'
require 'simplecov'
require 'capybara'

include Warden::Test::Helpers

SimpleCov.configure do
add_filter 'spec/'
end
Coveralls.wear!('rails')

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|
config.fixture_path = "#{::Rails.root}/spec/fixtures"

config.use_transactional_fixtures = true

config.infer_base_class_for_anonymous_controllers = false

config.order = "random"

config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller
end

Gemfile的开发/测试组

group :development, :test do
gem 'haml-rails'
gem 'rspec-rails', '~> 2.12.1'
gem 'webrat'
gem 'capybara', '~> 2.4.1'
gem 'selenium-webdriver', '~> 2.42.0'
gem 'factory_girl_rails', '~> 4.0'
gem 'coveralls', require: false
end
<小时/>

我尝试过降级 RSpec、Capybara 和 Selenium-Webdriver。我尝试过使用 Capybara-Webkit 而不是 Selenium。一切都无济于事。

我一直假设 jQuery 自动完成 Hook 到“keydown”事件,并且 Capybara 的 fill_in 不会自行触发此事件。它是否正确?

欢迎任何解决方案或解决方法。谢谢!

最佳答案

感谢 Arran 的建议,我意识到在定义 JQuery 之前,JS 中的其他地方发生了错误。

关于jquery - Selenium 测试中 $ 未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com