Capybara: Webkit kann iframe oder seinen Inhalt nicht finden

8

Ich erlaube Benutzern, Fotos mit anderen Personen zu teilen. Wenn der Benutzer ein Foto und seine Beschreibung anzeigt, kann er auf "Teilen" klicken und eine neue Seite wird geladen. Auf dieser Seite geben Sie eine E-Mail-Adresse (und optionale Kommentare - hier nicht getestet) ein und klicken auf "Foto teilen". Das System sendet eine E-Mail mit einem Link an den Empfänger und die Betreffzeile enthält den Namen des Fotos. Die Seite mit dem Formular "Teilen" zeigt auch eine Liste der Personen an, mit denen das Foto bereits geteilt wurde.

Die vollständige Seitenladung ist eine Quelle für Beschwerden von Benutzern. Sie möchten ein modales Fenster, um die Navigation schnell zu laden und zu minimieren. Ich stimme zu.

Ich benutze shadowbox.js , um die Share-Seite in einen iframe in einem modalen Fenster zu laden. Es funktioniert gut und ermöglicht bei Bedarf einen schönen Rückfall auf die alte Seite.

Aber - ich kann meine Tests einfach nicht bestehen lassen. Insbesondere kann Capybara: Webkit den Iframe nicht finden.

Die Umgebung ist:   Schiene 3.0.9   Capybara 0.4.1.2   capybara-webkit 0.5.0   Gurke 1.0.2

Die Gurkengeschichte:

%Vor%

Mein Schritt:

%Vor%

Die fehlgeschlagene Nachricht:

%Vor%

Ich habe jede Kombination von Element-IDs ausprobiert. Ich kann Capybara nicht erreichen: Webkit erkennt den iFrame.

Irgendwelche Ideen oder Lösungen? Ich kann nicht mit versagendem Test liefern und erwäge, den ganzen iframe Ansatz aufzustellen - aber ich würde gerne eine Lösung finden.

Danke

    
glimpse nirvana 31.07.2011, 15:29
quelle

1 Antwort

6

Sie müssen Zeit hinzufügen, damit der Iframe geöffnet / gefüllt werden kann. Schlaf 5 hat es geschafft.

%Vor%     
glimpse nirvana 03.08.2011, 01:40
quelle