Rebalance suites conf to be less error prone (#1819)

* rebalance suites conf to be less error prone

* shared api - wait for specific files instead of totalItems

* remove unused

* - make search api wait calls more stable on parallel runs
- remove not needed workaround from closeMoreMenu

* reorganize test suites
a few more test stabilisations

* improve copy tests for parallel running

* more changes to consider parallel running

Co-authored-by: Adina Parpalita <Adina.Parpalita@ness.com>
This commit is contained in:
Eugenio Romano
2020-12-04 12:39:39 +00:00
committed by GitHub
parent 321bcb1247
commit ad58be3d05
65 changed files with 745 additions and 1206 deletions

View File

@@ -2,14 +2,14 @@
// https://github.com/angular/protractor/blob/master/lib/config.ts
const path = require('path');
const { SpecReporter } = require('jasmine-spec-reporter');
const {SpecReporter} = require('jasmine-spec-reporter');
const fs = require('fs');
const resolve = require('path').resolve;
const logger = require('./tools/helpers/logger');
const retry = require('protractor-retry-angular-cli').retry;
const { uploadScreenshot } = require('./e2e/e2e-config/utils/upload-output');
const {uploadScreenshot} = require('./e2e/e2e-config/utils/upload-output');
require('dotenv').config({ path: process.env.ENV_FILE });
require('dotenv').config({path: process.env.ENV_FILE});
const SmartRunner = require('protractor-smartrunner');
const projectRoot = path.resolve(__dirname);
@@ -36,6 +36,7 @@ exports.config = {
allScriptsTimeout: 150000,
params: {
index_search: 25000,
config: appConfig,
downloadFolder: downloadFolder,
ADMIN_USERNAME: process.env.ADMIN_EMAIL || 'admin',
@@ -44,56 +45,43 @@ exports.config = {
},
specs: [
'./e2e/suites/authentication/*.test.ts',
'./e2e/suites/list-views/*.test.ts',
'./e2e/suites/application/*.test.ts',
'./e2e/suites/navigation/*.test.ts',
'./e2e/suites/pagination/*.test.ts',
'./e2e/suites/search/*.test.ts',
'./e2e/suites/actions-available/**/*.test.ts',
'./e2e/suites/actions/**/*.test.ts',
'./e2e/suites/viewer/*.test.ts',
'./e2e/suites/info-drawer/*.test.ts',
'./e2e/suites/extensions/*.test.ts'
'./e2e/suites/actions/**/**/*test.ts',
'./e2e/suites/actions-available/**/**/*test.ts',
'./e2e/suites/application/**/*test.ts',
'./e2e/suites/authentication/**/*test.ts',
'./e2e/suites/extensions/**/*test.ts',
'./e2e/suites/info-drawer/**/*test.ts',
'./e2e/suites/list-views/**/*test.ts',
'./e2e/suites/navigation/**/*test.ts',
'./e2e/suites/pagination/**/*test.ts',
'./e2e/suites/search/**/*test.ts',
'./e2e/suites/viewer/**/*test.ts'
],
suites: {
authentication: './e2e/suites/authentication/*.test.ts',
listViews: './e2e/suites/list-views/*.test.ts',
application: './e2e/suites/application/*.test.ts',
navigation: './e2e/suites/navigation/*.test.ts',
pagination: './e2e/suites/pagination/*.test.ts',
search: './e2e/suites/search/*.test.ts',
actionsAvailable: './e2e/suites/actions-available/**/*.test.ts',
addRemoveContent: [
'./e2e/suites/actions/new-menu.test.ts',
'./e2e/suites/actions/create-folder.test.ts',
'./e2e/suites/actions/create-folder-from-template.test.ts',
'./e2e/suites/actions/create-library.test.ts',
'./e2e/suites/actions/create-file-from-template.test.ts',
'./e2e/suites/actions/upload-file.test.ts',
'./e2e/suites/actions/upload-new-version.test.ts',
'./e2e/suites/actions/version-actions.test.ts',
'./e2e/suites/actions/delete-undo-delete.test.ts',
'./e2e/suites/actions/permanently-delete.test.ts',
'./e2e/suites/actions/restore.test.ts',
'./e2e/suites/actions/download.test.ts'
],
manageContent: [
'./e2e/suites/actions/copy-move/*.test.ts',
'./e2e/suites/actions/library-actions.test.ts',
'./e2e/suites/actions/edit-folder.test.ts',
'./e2e/suites/actions/edit-offline.test.ts'
],
sharingContent: [
'./e2e/suites/actions/mark-favorite.test.ts',
'./e2e/suites/actions/share-file.test.ts',
'./e2e/suites/actions/unshare-file-search-results.test.ts',
'./e2e/suites/actions/unshare-file.test.ts'
],
viewer: './e2e/suites/viewer/*.test.ts',
infoDrawer: './e2e/suites/info-drawer/*.test.ts',
extensions: './e2e/suites/extensions/*.test.ts'
copyMoveActions: './e2e/suites/actions/copy-move/**/**/*test.ts',
createActions: './e2e/suites/actions/create/**/**/*test.ts',
deleteActions: './e2e/suites/actions/delete/**/**/*test.ts',
editActions: './e2e/suites/actions/edit/**/**/*test.ts',
favoriteActions: './e2e/suites/actions/favorite/**/**/*test.ts',
libraryActions: './e2e/suites/actions/library/**/**/*test.ts',
shareActions: './e2e/suites/actions/share/**/**/*test.ts',
uploadDownloadActions: './e2e/suites/actions/upload-download/**/**/*test.ts',
actionsAvailableFilesFolders: './e2e/suites/actions-available/files-folders/**/**/*test.ts',
actionsAvailableLibraries: './e2e/suites/actions-available/libraries/**/**/*test.ts',
actionsAvailableSpecialPermissions: './e2e/suites/actions-available/special-permissions/**/**/*test.ts',
actionsAvailableNewMenu: './e2e/suites/actions-available/new-menu/**/**/*test.ts',
application: './e2e/suites/application/**/*test.ts',
authentication: './e2e/suites/authentication/**/*test.ts',
extensions: './e2e/suites/extensions/**/*test.ts',
infoDrawer: './e2e/suites/info-drawer/**/*test.ts',
listViews: './e2e/suites/list-views/**/*test.ts',
navigation: './e2e/suites/navigation/**/*test.ts',
pagination: './e2e/suites/pagination/**/*test.ts',
search: './e2e/suites/search/**/*test.ts',
viewer: './e2e/suites/viewer/**/*test.ts'
},
SELENIUM_PROMISE_MANAGER: false,
@@ -145,9 +133,10 @@ exports.config = {
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 600000,
defaultTimeoutInterval: 200000,
includeStackTrace: true,
print: function () {},
print: function () {
},
...SmartRunner.withOptionalExclusions(resolve(__dirname, './e2e/protractor.excludes.json'))
},
@@ -179,7 +168,7 @@ exports.config = {
const outputDirectory = process.env.SMART_RUNNER_DIRECTORY;
logger.info(`SmartRunner's repoHash : "${repoHash}"`);
logger.info(`SmartRunner's outputDirectory: "${outputDirectory}"`);
SmartRunner.apply({ outputDirectory, repoHash });
SmartRunner.apply({outputDirectory, repoHash});
}
const tsConfigPath = path.resolve(e2eFolder, 'tsconfig.e2e.json');
@@ -215,8 +204,8 @@ exports.config = {
});
},
afterLaunch: async function () {
if (SAVE_SCREENSHOT) {
afterLaunch: async function (statusCode) {
if (SAVE_SCREENSHOT && statusCode !== 0) {
console.log(`Save screenshot is ${SAVE_SCREENSHOT}, trying to save screenshots.`);
try {