Я пытаюсь нажать одну галочку в нг-ретранслятора в транспортир для следующих HTMLОшибка нажав флажок в транспортира
код я использую;
element.all(by.repeater('user in siteUsers | filter: { SiteId: site.SiteId }'))
.then(function (ElementArray) {
ElementArray[0].all(by.tagName('input')).get(0).click();
}).catch((err) => {
console.log(err);
});
Но я получаю следующее сообщение об ошибке:
TypeError: Cannot read property 'all' of undefined
at C:\AGLRepository\Agl.Digital.SolarCommand.WebApi\e2eTests\src\components\settings\addRemoveUsers\addRemoveUsers.page.ts:87:32
at ManagedPromise.invokeCallback_ (C:\Users\MyDevMachine\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1379:14)
at TaskQueue.execute_ (C:\Users\MyDevMachine\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2913:14)
at TaskQueue.executeNext_ (C:\Users\MyDevMachine\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2896:21)
Далее я упомянул следующую ссылку решения, а также. Не повезло.
Заранее спасибо.
'ElementArray [0] .Все (by.tagName ('ввода')). Получим (0) .click()' должен работать нормально. Проблема здесь в том, что элемент не сохраняется для локатора 'by.repeater ('user in siteUsers | filter: {SiteId: site.SiteId}')' .So ElementArray будет пустым, а ElementArray [0] не будет определено. Может быть, некоторое ожидание решит проблему. –
@AdityaReddy Я пробовал этот код 'element.all (by.repeater ('user in siteUsers | filter: {SiteId: site.SiteId}')). All (by.tagName ('input')). Get (0) .click(); 'Тогда я получил ошибку, которая' Failed: Index out of bound. Попытка доступа к элементу по индексу: 0, но есть только 0 элементов, которые соответствуют локатору By (css selector, input) 'В пользовательском интерфейсе я могу видеть этот флажок, но не событие click. Это может быть причиной Wgat? – SMPH
@Sudharsan Selvaraj, я применил 'browser.wait (() => 1000); 'перед кодом. Не помогло. – SMPH