Я использую NightWatch, чтобы проверить, что ячейка таблицы на странице содержит число больше 0.nightwatchjs с вызовом утверждают browser.end() на AssertionError
Для достижения этой цели я должен использовать пакет Assert узла :
const assert = require('assert');
Итак, сначала я получаю текст элемента ячейки таблицы, и в обратный вызов я анализирую его в Int и использовать утверждают, чтобы проверить его значение:
...
.getText("//table[@id='topology-summary-table']/tbody/tr/td[7]", function(el){
assert(parseInt(el.value) > 0, "Num Executors == 0!");
}).end()
...
Единственная проблема с этим что если assert выбрасывает AssertionError (то есть: если число в ячейке таблицы равно 0), тогда тест останавливается, и .end()
никогда не вызывается, что оставляет процесс браузера открытым и висит вокруг. Не идеально.
Я получил вокруг этого факта, выполнив следующие действия:
...
.getText("//table[@id='topology-summary-table']/tbody/tr/td[7]", function(el){
try {
assert(parseInt(el.value) > 0, "Num Executors == 0!");
} catch(e){
this.end();
throw e;
}
})
...
, но по некоторым причинам это заставляет меня чувствовать себя плохо. :(
Мой вопрос:. Есть ли лучший способ