В моих тестах я заполняю поля ввода (в Ant.Design https://ant.design/components/input/) методом app.client.setValue( selector, value )
. Согласно https://github.com/electron-userland/spectron это должен быть метод Selenium Webdriver. И здесь говорится https://webdriver.io/docs/api/element/setValue.html метод переопределяет значение на входе. Для меня это всегда действует как addValue
(то есть он посылает ключи поверх текущего значения на входе), и я не могу найти обходной путь.
Сброс ввода на клиенте непосредственно перед setValue
по какой-то причине не работает ...
async type( selector, value ) {
await this.app.client.execute( ( selector ) => {
const el = document.querySelector( selector );
// When it's INPUT_NUMBER reset is 0
el.setAttribute( "value", el.classList.contains( "ant-input-number-input" ) ? 0 : "" );
}, selector );
return await this.app.client.setValue( selector, value );
}