web-dev-qa-db-ja.com

分度器のテキストボックスでテキストを選択または上書きする最も簡単な方法は?

分度器テストでは、私は<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ドキュメントで役立つものは何も見つかりません。

何か案は?

14
Andrew Magee

私はclearを使用して、テストの1つでこれを実行し、魅力のように機能します;)

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

それを見つけた:

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

「すべて選択」のキーボードショートカットであるCtrl + Aを送信します。

11
Andrew Magee

Glepretreと同様に、私のソリューションには「Name」という名前の入力フォームコントロールが与えられますが、これは私にとってはうまくいきました

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

入力をダブルクリックし、BackSpaceをクリックします

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

または、入力をダブルクリックして新しい値を設定すると、以前の値が置き換えられます

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

0