2015-04-04 2 views
1

Я только что установил транспортир на рабочую станцию ​​Fedora. Мои тесты отлично работает на Windows 7 и OS X, но на Fedora я получаю эту ошибку:Объект-объект-переводчик [объект-объект] не имеет метода 'then'

Message: Failed: Object [object Object] has no method 'then' Stack: Error: Failed: Object [object Object] has no method 'then' at /usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:102:16 at [object Object].promise.ControlFlow.runInFrame_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20) at [object Object].promise.Callback_.goog.defineClass.notify (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25) at [object Object].promise.Promise.notify_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)

Очевидно, что разница между рабочими станциями огромен. Даже узел работает в разных версиях (0.10.36 на Fedora). Но может быть, у кого-то такие же проблемы?

+1

Вам понадобится показать больше этой ошибки ... Используете ли вы одну и ту же версию транспортира на обеих машинах? Если вам нужно одинаковое поведение на обеих машинах, вам придется использовать одни и те же версии всего. –

+0

Покажите свой тест и на какой линии это не удается? – alecxe

ответ

4

Вы получаете эту ошибку, так как на своей рабочей станции вы используете Protractor 2.0, а 1.x - на других компьютерах. Protractor 2.0 has a breaking change, который удаляет element.then. Вам нужно будет обновить свои тесты, чтобы устранить это изменение.

+1

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

+0

Я выбрал именно эту проблему при переносе с 1.x на 2.x. –

+0

благодарит много, совершенно правильно! поскольку мой пакет.json очень неспецифичен в версии для транспортировщика, новая настройка использует транспортир 2.0. – roemer

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