Я запускаю некоторые угловые тесты e2e с транспортиром и получаю неудачное ожидание.Проталкиватель toContain не работает, когда тесты настроены с помощью shardTestFiles: true
expect: Expected [ 'Integration Test Acquirer Automatically generated EUR,GBP,USD activated' ] to contain 'Integration Test Acquirer Automatically generated EUR'.
код я использую в это ожидание:
expect(processingPathListElement.count()).toEqual(1);
expect(processingPathListElement.getText()).toContain('Integration Test Acquirer Automatically generated EUR');
Таким образом, текст «Интеграция Test Приобретатель Автоматически генерируемый EUR» на самом деле содержится в «Интеграция Test Приобретатель Автоматически генерируемый EUR, GBP, USD» ,
Я должен упомянуть, что этот тест заканчивается неудачно, когда я использую обход тестов (запуск нескольких экземпляров браузера вместо одного и разделение тестов среди них). Тесты выполняются в 5 экземплярах firefox. Другое дело, что я использую сложение вместо того, чтобы смотреть на всю строку и использовать совпадение «toEqual», потому что, когда я запускаю тесты, расстояние между валютами (должно быть «EUR, GBP, USD» заканчивается тем, EUR, GBP, USD "). Меня не волнует вторая проблема, но я забочусь о первом. И снова эта проблема только проявляется, когда я запускать тесты с конфигой:
capabilities: {
'browserName': 'firefox',
shardTestFiles: true,
maxInstances: 5
},
Если удалить shardTestFiles: true
тесты проходят.
Здесь вся информация о неисправном тесте:
expect: Expected [ 'Integration Test Acquirer Automatically generated EUR,GBP,USD activated' ] to contain 'Integration Test Acquirer Automatically generated EUR'. Error: Failed expectation at null.<anonymous> (/Users/bamboo/bamboo-home/xml-data/build-dir/IOG-TESTFE61-JOB1/test/e2e/merchants/merchant/merchantMPOSSpec.js:177:69) at /usr/local/lib/node_modules/protractor/node_modules/jasminewd/index.js:94:14 at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20) at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1505:8) at wrapper [as _onTimeout] (timers.js:252:14) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)expect: Expected [ 'Integration Test Acquirer Automatically generated EUR,GBP,USD activated' ] to contain 'GBP'. Error: Failed expectation at null.<anonymous> (/Users/bamboo/bamboo-home/xml-data/build-dir/IOG-TESTFE61-JOB1/test/e2e/merchants/merchant/merchantMPOSSpec.js:178:69) at /usr/local/lib/node_modules/protractor/node_modules/jasminewd/index.js:94:14 at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20) at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1505:8) at wrapper [as _onTimeout] (timers.js:252:14) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)expect: Expected [ 'Integration Test Acquirer Automatically generated EUR,GBP,USD activated' ] to contain 'USD activated'. Error: Failed expectation at null.<anonymous> (/Users/bamboo/bamboo-home/xml-data/build-dir/IOG-TESTFE61-JOB1/test/e2e/merchants/merchant/merchantMPOSSpec.js:179:69) at /usr/local/lib/node_modules/protractor/node_modules/jasminewd/index.js:94:14 at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20) at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1505:8) at wrapper [as _onTimeout] (timers.js:252:14) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
Вы правы. Большое спасибо. Это было глупое отвлечение с моей стороны, потому что я новый список содержал только один элемент, и он работает для других случаев, которые совпадают с этим (даже в проверенных тестах). И этот тест пройдет, если тесты не будут отложены, что очень сбивает с толку и заставило меня подумать, что проблема была в другом месте. Точно так же, как ожидалось неудача, кажется странным. Он должен сказать, что он не мог этого сделать, но представить оба текста и сказать, что один не содержится в другом (когда это на самом деле). – pcatre