Мы используем транспортир с жасминовым каркасом.Ниже приведен наш файл спецификаций
describe('Projects CRUD', function () {
var projectsPage = require('../pages/Projects_Page.js');
var commonFunctions = require('../utils/CommonFunctions.js');
it('Rename Project - Duplicate name check', function () {
try{
projectsPage.clickProjectsTab();
projectsPage.selectProject('AutoProject1');
projectsPage.projectBreadcrumbChevron.click();
projectsPage.editProjectIcon.click();
projectsPage.editProjectUpdateButton.click();
expect(projectsPage.duplicateProjectError.getText()).toEqual('A Project with that name already exists');
projectsPage.editProjectCancelButton.click()
commonFunctions.updateResult(164378 , "Project duplicate name checked with same Org unit successfully", "p");
}catch(err){
console.log(err);
commonFunctions.updateResult(164378 , err, "f");
}
});
});
Наше требование состоит в том, чтобы он выполнял блок catch, если какой-либо из этапов не выполняется в промежутке или даже ожидается, что условие не выполнено в блоке 'it'.В настоящее время для любого исключения его не достичь, чтобы поймать блок.После трассировки ошибки
Failures:
1) Projects CRUD Rename Project - Duplicate name check
Message:
Failed: project not found
Stack:
Error: project not found
at E:\JavaScriptWorkSpace\UIAutomation\pages\Projects_Page.js:39:23
at ManagedPromise.invokeCallback_ (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1376:14)
at TaskQueue.execute_ (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:3084:14)
at TaskQueue.executeNext_ (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:3067:27)
at asyncRun (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2927:27)
at C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:668:7
at process._tickCallback (internal/process/next_tick.js:68:7)
From: Task: Run it("Rename Project - Duplicate name check") in control flow
at UserContext.<anonymous> (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:94:19)
at C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:64:48
at ControlFlow.emit (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\events.js:62:21)
at ControlFlow.shutdown_ (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2674:10)
at shutdownTask_.MicroTask (C:\Users\abc\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2599:53)
From asynchronous test:
Error
at Suite.<anonymous> (E:\JavaScriptWorkSpace\UIAutomation\specs\ProjectsCrud.js:6:5)
at Object.<anonymous> (E:\JavaScriptWorkSpace\UIAutomation\specs\ProjectsCrud.js:1:63)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
1 спецификация, 1 сбой Завершено за 30,699 секунд