Ошибка Failed: element click intercepted element id="topic_0" is not clickable at point (x,x). other element would receive the click id="topics_table"
обычно возникает, когда транспортиру не удается найти целевой элемент (в вашем случае вы нацеливаетесь на элемент, который имеет #topic_0
css; из кода выше element(by.css('#topic_0'))
) ...
Транспортир обычно не может найти элемент, когда вы не имеете дело с обещаниями. Я предполагаю, что элемент, на который вы пытаетесь щелкнуть, еще не доступен в DOM, и транспортир вместо этого щелкает по другому элементу ... проблема не имеет ничего общего со средами. Возможно, в вашем случае тестовая среда работает медленнее, чем среда разработки, поэтому она работает на dev, а не на тестовой среде.
Я бы сказал, используйте одно из Ожидаемых условий * 1009. * то есть visibilityOf Ожидаемые условия, так что ваш код в конечном итоге ожидает отображения элемента в DOM ... так что ваш код будет выглядеть следующим образом:
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'topic_0' to be visible on the dom.
browser.wait(EC.visibilityOf($('#topic_0')), 5000);
element(by.css('#topic_0')).click();
в обратите внимание, что при использовании CSS селекторов в качестве локатора вы можете использовать ярлык $ () :
$('my-css');
// Is the same as:
element(by.css('my-css'));