3 Stimmen

Cucumber test gibt einen Fehler aus - Selenium::WebDriver::Error::JavascriptError

Ich habe eine Tinymca's iframe in meiner Seite und ich möchte diesen Tinymca-Editor mit dem Cucumber-Test ausfüllen. Immer wenn ich meinen Test ausführe, gibt es mir einen Fehler, dass jQuery nicht definiert ist

In meiner Gemfile

source 'http://rubygems.org'
ruby '2.0.0'

gem 'capybara'
gem 'capybara-mechanize', :git => 'git://github.com/JerryWho/capybara-mechanize.git',      :branch => 'relative-redirects'
gem 'rspec'
gem 'cucumber'
gem 'launchy'
gem 'pry'
gem 'selenium-webdriver' 

Hier ist mein Szenario

Szenario: Admin fügt alle gültigen und erforderlichen Daten hinzu
    wenn Job hinzugefügt mit allen gültigen und erforderlichen Daten
    Dann sollte ich die Erfolgsmeldung sehen.

Und hier sind die Schritte für diesen Test

Given(/^Ich bin als Unternehmensadministrator angemeldet$/) do
   visit('/')
   fill_in "log", :with => "admin@email.com"
   fill_in "pwd", :with => "password"
   click_button "submit"
end

When(/^Job hinzugefügt mit allen gültigen und erforderlichen Daten$/) do
   visit('/site/admin/posts/add/')
   within_frame 'questiontextarea_ifr' do
       page.execute_script("jQuery(tinymce.editors[0].setContent('mein Inhalt hier'))")
   end
   click_button "Save"
end

Then(/^Ich sollte die Erfolgsmeldung sehen\.$/) do
   page.should have_content('Success Your post has been successfully added.')   
end

Aber es gibt mir den Fehler jQuery is not defined (Selenium::WebDriver::Error::JavascriptError)

2voto

Yi Zeng Punkte 31012

Es liegt höchstwahrscheinlich daran, dass "jQuery nicht definiert" ist, wie die Nachricht vorgeschlagen hat.

Bitte versuchen Sie es ohne jQuery, aber mit dem nativen TinyMCE API:

page.execute_script("tinyMCE.activeEditor.setContent('mein Inhalt hier')")

Weitere Informationen lesen: Testen von WYSIWYG-Editoren mit Selenium WebDriver in reinem Ruby (nicht Capybara)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X