Wie füllt man den tinymce-rails Editor mit Capybara und Selen?

8

Ich habe Schwierigkeiten mit Capybara, um die Tinymce-Form zu testen. Ich benutze tinymce-rails und habe 7 Editoren in meiner Form. Außerdem benutze ich asciimath plugin mit tinymce.

Alles funktioniert gut, aber ich kann keine Tests schreiben, um den Tinymce-Editor auszufüllen.

Hier sehen Sie, wie mein Schrittdefinitionscode aussieht, ähnlich wie beschrieben hier :

%Vor%

Das Problem ist, wenn ich folgendes führe:

%Vor%

So funktioniert clear und send_keys :tab wie erwartet. Aber ich kann keine Zeichenfolge senden. send_keys function gibt immer eine leere Zeichenkette zurück, und nichts passiert, wenn ich einen Test mit Hilfe von py mache.

Was läuft hier falsch? und wie kann ich das Problem debuggen / untersuchen?

Danke.

    
Alper Karapınar 20.07.2012, 14:34
quelle

3 Antworten

2

Wechseln zu Chrome wie beschrieben hier gelöst meine Problem.

Offensichtlich hängt das Problem mit einem Fehler im Firefox-Treiber zusammen.

Aber ich denke, es ist eine gültige Frage für Firefox.

    
Alper Karapınar 23.07.2012, 14:17
quelle
4

Ich weiß, dass dies eine alte Frage ist, aber ich habe sie gerade gefunden, als ich versuchte, dieses Problem ebenfalls zu lösen.

Obwohl die ursprüngliche Frage besagt, dass er 7 Tinymce auf der gleichen Seite hat, denke ich, dass meine Lösung auch für ihn funktionieren könnte, aber ich weiß, dass es funktionieren wird, wenn es ein Beispiel gibt.

In meiner Anfragespezifikation habe ich Folgendes verwendet:

page.execute_script ('$ (tinymce.editors [0] .setContent ("mein Inhalt hier"))')

Das page.execute_script mit der Anweisung, die jQuery-Funktion auszuführen. Es findet dann den ersten Tincemce-Editor und setzt den Inhalt.

Arbeitete wie ein Zauber für mich. Ich denke, wenn es mehr als ein Tinymce gibt, kann es an seiner Position genannt werden.

    
Bob Roberts 16.04.2014 19:51
quelle
0

Versuchen Sie, zu einem iframe zu wechseln, das tinymce textarea input und dann send_keys:

enthält %Vor%     
ebsbk 25.07.2012 11:24
quelle