Во-первых, убедитесь, что вы явно назначаете идентификаторы для своих полей. В противном случае будет очень трудно получить доступ к компонентам с автоматически генерируемыми идентификаторами (например, «ext-comp-004»).
Стратегия состоит в том, чтобы использовать команду verifyEval
Selenium и использовать Ext JS API для определенных действий.
Для проверки активного сообщения об ошибке поля с идентификатором «password_confirm» вы можете использовать:
Ext.getCmp("password_confirm").getActiveError();
Сначала попробуйте это вручную в консоли Firebug, чтобы убедиться, что она работает для вас. Затем вы можете сделать то же самое в вашем скрипте Selenium:
- Команда:
verifyEval
- Сценарий:
Ext.getCmp("password_confirm").getActiveError()
- Ожидаемое:
Passwords do not match
Если вы хотите сначала проверить это с помощью Selenium IDE в Firefox, вы должны принять во внимание, что объект window
будет заключен в XPCNativeWrapper . Вы можете получить доступ к реальному объекту окна и пространству имен Ext JS в нем через wrappedJSObject
:
- Команда:
verifyEval
- Сценарий:
window.wrappedJSObject.Ext.getCmp("password_confirm").getActiveError()
- Ожидаемое:
Passwords do not match
Некоторые общие советы по тестированию приложений Ext JS с Selenium см. в этом ответе . Некоторые его части могут быть устаревшими, но все же могут дать вам представление об общих стратегиях.