Самый простой способ выбрать или напечатать текст в текстовом поле в транспортире?

В тесте транспортитора у меня есть <input type="text"/>, который предварительно заполнен значением, и я хотел бы удалить это значение и набрать новый. В идеале я мог бы просто сказать что-то вроде

// Some way to select all the text in the text box so `
// sendKeys` will type over it.
element(by.css("input.myInput")).selectAll();

element(by.css("input.myInput")).sendKeys("my new value");

Но selectAll не существует, и я не могу найти ничего полезного в документах API.

Любые идеи?

Ответ 1

Я использую clear для этого в одном из моих тестов, работает как шарм;)

element(by.css("input.myInput")).clear();

Ответ 2

Найдено:

var ctrlA = protractor.Key.chord(protractor.Key.CONTROL, "a");
element(by.css("input.myInput")).sendKeys(ctrlA);

Отправляет Ctrl + A, сочетание клавиш для "выбрать все".

Ответ 3

Подобно glepretre, моему решению дается входной formcontrol с именем 'Name', но это сработало для меня

newValue = getNewValue();
element(by.css('input[formControlName=Name]')).clear();
element(by.css('input[formControlName=Name]')).sendKeys(newValue)
.then(function () {....});

Ответ 4

Дважды щелкните по входу и нажмите BackSpace

browser.actions().doubleClick(input).sendKeys(Key.BACK_SPACE).perform();

Или дважды щелкните по входу и установите новое значение, и оно заменит предыдущее значение

browser.actions().doubleClick(input).sendKeys('9999').perform();