我有以下html
<ion-input class="nick-name-input input input-md ng-valid ng-dirty ng-touched" name="nickname" type="text" ng-reflect-name="nickname" ng-reflect-model="my nickname" ng-reflect-type="text" style=""></ion-input>
我需要在量角器中为此元素设置ng-reflect-model
属性的值。
基本上,我需要清除ng-reflect-model
属性中已经存在的值。
答案 0 :(得分:0)
方法1-executeScript
您可以使用 executeScript 将javascript代码直接发送到浏览器。 在这里阅读更多 https://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.executeScript
只需将 hello 替换为要插入到元素中的内容,然后将该元素作为 reqElement 传递给我即可。
let reqElement = await element(by.css('.nick-name-input'));
await browser.executeScript("arguments[0].setAttribute('ng-reflect-model','Hello');", reqElement);
方法2-使用protractor.key.backspace刷新
或者,如果这样做的原因是要使更改反映在DOM中,则可以创建这样的函数。这将清除并显示文本,并应刷新DOM,因此空白值将在ng-model-attribute中生效
let clearTextAndModel = async function (reqElement) {
await reqElement.clear();
await reqElement.sendKeys('a');
await reqElement.sendKeys(protractor.Key.BACK_SPACE);
}