2016-07-08 3 views
0

Я пытаюсь найти отсутствие элемента в условном выражении, которое затем будет принимать два разных пути, если этого элемента нет. Однако то, что я получаю, это «элемент не найден», который мне нужен, но мне нужно обойти это. Вот что я пробовал:Ищете элемент, который не должен присутствовать.

if (HomeScreen.tabs.propertiesTab.isPresent()) { 
 
    HomeScreen.tabs.propertiesTab.click(); 
 
} else { 
 
    HomeScreen.tabs.allTabsTab.click().then(function() { 
 
    HomeScreen.allTabs.properties.click(); 
 
    }) 
 
}

и

HomeScreen.tabs.propertiesTab.isPresent().toBeFalsy().then(function(isVisible) { 
 
    if (isVisible) { 
 
    HomeScreen.tabs.propertiesTab.click(); 
 
    } else { 
 
    HomeScreen.tabs.allTabsTab.click().then(function() { 
 
     HomeScreen.allTabs.properties.click(); 
 
    }); 
 

 
    } 
 
});

Любые предложения?

ответ

1

Try явно разрешить обещание с then():

browser.isElementPresent(HomeScreen.tabs.propertiesTab).then(function (isPresent) { 
    if (isPresent) { 
     // ... 
    } else { 
     // ... 
    } 
}); 

Использование browser.isElementPresent() здесь, но он должен работать с .isPresent(), а также:

+0

Эта работа, однако элемент присутствует, поскольку я могу это видеть, и если я прокомментирую все и скажу, чтобы щелкнуть, он нажмет на Это. Я сделал журнал isPresent, и он возвращает false. –

+0

@NicolePhillips в порядке, вы уверены, что правильно находите элемент и нет других элементов, соответствующих локатору? – alecxe

+0

Возможно, мне нужна видимость? –

Смежные вопросы