Очистка входного текстового поля с помощью FuncUnit
Я пишу FuncUnit для моего приложения. Я просматриваю приложение в Google Chrome. У меня есть текстовое поле, которое изначально скрыто. Мне нужно сделать его видимым, а затем очистить текст, уже присутствующий в этом текстовом поле. У меня есть следующий код, который делает поле видимым, но не может очистить текст в нем.
S('#search').visible().clearText();
Может кто-нибудь сказать, что здесь не так?
4 ответа
Ваше утверждение не является точным. visible()
не делает вещи видимыми Это функция ожидания, которая ждет, пока исходный элемент станет видимым, прежде чем перейти к следующему действию.
последовательность клавиш Коаликс работает. С помощью команды type() вам может понадобиться сначала щелкнуть текстовый ввод перед его очисткой.
Пытаться:
S('#search').visible().click().type('[ctrl]a[ctrl-up][delete]');
Вы также можете попробовать пустые кавычки <"">
var input = S('input.my-input');
input.type('', function() {
// remove existing text
});
Попробуйте очистить текстовое поле, набрав - Ctrl+A и Delete.
var input = S('input.my-input');
input.type('[ctrl]a[ctrl-up][delete]', function() {
// Continue in test case after the text has been removed
});
Я не знаю, ждешь ли ты еще ответа. Я думаю, что вы не используете visible()
в правильном пути.
В FuncUnit (см. Документацию здесь), помимо прочего, вы можете различать "действия" и "ожидания". visible()
это ожидание, и его следует использовать, чтобы дождаться, когда элемент станет видимым, например так:
S('#el').visible( function() {
// do something when element with id="el" becomes visible
});