我正在通过 rspec 玩 selenium,但不满意,我看到了对 poltergeist 的建议。当我尝试用我的测试运行它时,似乎 poltergeist 驱动程序没有出现在它应该出现的位置。我有点困惑机架测试在哪里适合 poltergeist,但我尝试了很多不同的东西。然后我找到了这个简单的例子并试图让它工作但仍然没有运气。我在 Windows 上使用 jruby。
我正在使用此处找到的示例: https ://gist.github.com/pzol/1607842 我将所有代码移到一个文件中,这种情况下没有规范助手
我确实安装了 phantomjs 并为 phantomjs 运行了一个小小的 hello world 示例,它在我的路径中
require 'rspec'
require 'capybara/rspec'
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, debug: true)
end
describe 'poltergeist', :type => :request, :js => true do
it 'should find github poltergeist in google' do
visit 'http://www.google.com/'
fill_in "q", :with => "github poltergeist"
click_button "btnK"
page.should have_content 'jonleighton/poltergeist'
end
end
jruby -S rspec poltergeist-test2.rb F
失败:
1) poltergeist 应该在 google Failure/Error 中找到 github poltergeist:访问 ' http://www.google.com/ ' NoMethodError: undefined method visit' for #<RSpec::Core::ExampleGroup::Nested_1:0x4324
4fd9>
# ./poltergeist-test2.rb:18:in
(root)'
在 0.01 秒内完成 1 个示例,1 个失败
失败的例子:
rspec ./poltergeist-test2.rb:17 # poltergeist 应该在 google 中找到 github poltergeist