Ich hatte ein ähnliches Problem, mit einer Dropdown-Liste mit Ajax gemacht.
Da die Benutzertypen in einem Feld, das System AJAX zeigt div
w mit mehreren Optionen, die jeweils als Verbindung mit target='#'
Und noch schlimmer ist, war es eine Funktion auf dem onChange() genannt, die ein gefüllten System-Flag, und das Flag würde als eine Validierung auf der form.submit() verwendet werden (oh, der Schmerz)
Anyways, meine Lösung dafür:
1 - Selen Sendkeys Befehl so die Ajax div würde erscheinen
<tr>
<td>sendKeys</td>
<td>id=txtTipoDocumento</td>
<td>ipsum lorem</td>
</tr>
2 - warten Sie auf den Link mit der erwarteten Option erscheinen
<tr>
<td>waitForElementPresent</td>
<td>link=ipsum lorem</td>
<td></td>
</tr>
3 - Selen clickAt den Link
<tr>
<td>clickAt</td>
<td>link=ipsum lorem</td>
<td>10,20</td>
</tr>
4 - Hier ist die von die Fänge: manuell feuern die onChange() AND Unschärfe Ereignisse. Auch foce den Browser Fokus auf verschiedene Feld
<tr>
<td>fireEvent</td>
<td>id=txtTipoDocumento</td>
<td>blur</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>change()</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>blur</td>
</tr>
<tr>
<td>focus</td>
<td>id=imgDataElaboracao</td>
<td></td>
</tr>
5 gesetzt - schließlich sicher sein, ich Selen führe die ClickAt() Befehl auf der Schaltfläche Absenden der Form, zwischen ein mouseDown- und MouseUp Befehle
<tr>
<td>mouseDown</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>focus</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>id=btnSalvar</td>
<td>10,20</td>
</tr>
Nicht elegant, aber es funktionierte.
Ich verwende IDE. Das habe ich getan. [#Ausführung: | getEval | selen.selectWindow (null) || ] Funktioniert nicht. Fehler: selen.selectWindow ist keine Funktion –
Ich arbeite normalerweise nur mit Selenium RC und ich bin mir nicht sicher, ob es sogar möglich ist, einige der Probleme mit der IDE zu lösen .. Sie sollten Ihre Frage mit dieser Info – StefanE