В приведенном выше фрагменте ваш globalVariables.tableData_Dashboard.all(by.tagName("tr")).count()
возвращает обещание . Поэтому, когда вы добавляете их вместе, вы добавляете обещание для int и int. Следующая вещь, которая выглядит странно: var Button = 'globalVariables.Edit_Button_'+i;
Это не оценивается как elementFinder. Я согласен с комментарием Юна выше, где вы должны использовать globalVariables['Edit_Button_'+i];
Использование async / await
Итак, я собираюсь ответить на этот вопрос с помощью async / await, и поток управления отключен. Это с SELENIUM_PROMISE_MANAGER: false,
, установленным в вашем файле конфигурации.
it('should show the same data in both Page' , async () => {
const RowCount=
(await globalVariables.tableData_Dashboard.all(by.tagName("tr")).count()) - 1;
for (var i=1; i < RowCount; ++i){
const button = globalVariables['Edit_Button_'+i];
expect(await button.isDisplayed());
// do something
}
});