codeceptjs / codeceptjs/CodeceptJS

Could not place bootstrap file on a different folder from config file

Abierto
#2,437 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
4.2k
Forks
757
Merge medio
2 d 9 h
PR fusionados (30 d)
16

Descripción

#### What are you trying to achieve?
I am trying to place a config file and bootstrap file in different folder
#### What do you get instead?
Returned `could not find bootstrap file`
> Provide console output if related. Use `--verbose` mode for more details.

```bash
npx codeceptjs run --grep "search" -c ./configs/puppeteer.conf.js --verbose

Hook /Users/study/WorkingSpace/amazonweb/configs/run_server.js doesn't exist

Error:
at module.exports (/Users/study/WorkingSpace/amazonweb/node_modules/codeceptjs/lib/hooks.js:12:13)
at Codecept.runBootstrap (/Users/study/WorkingSpace/amazonweb/node_modules/codeceptjs/lib/codecept.js:112:5)
at Command.module.exports (/Users/study/WorkingSpace/amazonweb/node_modules/codeceptjs/lib/command/run.js:30:14)
at Command.listener (/Users/study/WorkingSpace/amazonweb/node_modules/commander/index.js:315:8)
at Command.emit (events.js:315:20)
at Command.parseArgs (/Users/study/WorkingSpace/amazonweb/node_modules/commander/index.js:651:12)
at Command.parse (/Users/study/WorkingSpace/amazonweb/node_modules/commander/index.js:474:21)
at Object. (/Users/study/WorkingSpace/amazonweb/node_modules/codeceptjs/bin/codecept.js:228:9)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
```

> Provide test source code if related
1. Folder of bootstrap file placed in root folder: `./run_server`
2. Folder of configs file placed in: `./configs`, and contains files:
a. codecept_shared.js
```
const { setHeadlessWhen } = require("@codeceptjs/configure");
const SUT = require("./../SUT");

let config = {
tests: SUT.testSpecFolder,
output: SUT.outputFolder,
include: {
I: SUT.IObject,
PageFactory: SUT.pageFactory, // factory pattern to handle pages and common components
},
bootstrap: SUT.bootstrapFile,
mocha: {},
name: "amazon",
multiple: {
parallel: {
chunks: 2,
},
},
plugins: {
retryFailedStep: {
enabled: true,
},
screenshotOnFail: {
enabled: true,
},
allure: {
enabled: true,
},
stepByStepReport: {
enabled: false,
output: SUT.outputFolder,
},
rerun: {
// run 4 times until 1st success
minSuccess: 1,
maxReruns: 3,
},
},
};

module.exports = config
```

b. puppeteer.conf.js
```js
const { setHeadlessWhen } = require("@codeceptjs/configure");
const dotenv = require("dotenv").config();
const sharedConfig = require("./codecept_shared.js");

// turn on headless mode when running with HEADLESS=true environment variable
// HEADLESS=true npx codecept run

setHeadlessWhen(process.env.HEADLESS);
let helpers = {
Puppeteer: {
url: "https://www.amazon.com",
show: true,
windowSize: "1200x900",
waitForNavigation: ["domcontentloaded", "networkidle0"],
waitForTimeout: 5000,
chrome: {
args: [
"--incognito",
"--disable-extensions",
"--disable-gpu",
"--no-sandbox",
"--disable-dev-shm-usage",
],
},
},
ChaiWrapper: {
require: "codeceptjs-chai",
},
};
sharedConfig.helpers = helpers;
//console.log(sharedConfig);
exports.config = sharedConfig
```

3. SUT file
```
const path = require('path');

let projectBasedDir = '/Users/study/WorkingSpace/amazonweb';
// let bootstrapFile = path.join(projectBasedDir, '/run_server.js');
// console.log(bootstrapFile)
module.exports = {

testSpecFolder: path.join(projectBasedDir, '/tests/specs/**/*.spec.js'),
outputFolder: path.join(projectBasedDir,'/output'),
bootstrapFile: path.join(projectBasedDir, "./run_server.js"),
configFolder: path.join(projectBasedDir, '/configs'),
IObject: path.join(projectBasedDir,'/steps_file.js'),
pageFactory: path.join(projectBasedDir,'/tests/pageFactory.js')
}
```

### Details

```js
"allure-commandline": "^2.13.0",
"codeceptjs": "^2.6.5",
"codeceptjs-chai": "^1.1.1",
"dotenv": "^8.2.0",
"googleapis": "^39.2.0",
"playwright": "^1.1.1",
"puppeteer": "^3.3.0",
"rimraf": "^3.0.2"
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.