Report is not generated from local run (using --export)
Open
Danbown
opened this issue 3 years ago
•
2 comments
Describe the bug
When load test is run locally, using cmd element run mytest.ts --no-headless --export, no report is generated. See further down for error message, which states 'this is a bug'
To Reproduce
Run test script locally using --export parameter. Following is received:
AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules@flood\element-cli\templates\report\styles.css
at EditionInterface.exports.copy (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\mem-fs-editor\lib\actions\copy.js:48:3)
at EditionInterface.module.exports [as move] (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\mem-fs-editor\lib\actions\move.js:4:8)
at Report.writing (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules@flood\element-cli\dist\src\generator\test-report\index.js:18:17)
at Object. (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\yeoman-generator\lib\index.js:424:27)
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\run-async\index.js:49:25
at new Promise ()
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\run-async\index.js:26:19
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\yeoman-generator\lib\index.js:425:13
at processImmediate (internal/timers.js:464:21) AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules@flood\element-cli\templates\report\styles.css
at EditionInterface.exports.copy (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\mem-fs-editor\lib\actions\copy.js:48:3)
at EditionInterface.module.exports [as move] (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\mem-fs-editor\lib\actions\move.js:4:8)
at Report.writing (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules@flood\element-cli\dist\src\generator\test-report\index.js:18:17)
at Object. (C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\yeoman-generator\lib\index.js:424:27)
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\run-async\index.js:49:25
at new Promise ()
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\run-async\index.js:26:19
at C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules\yeoman-generator\lib\index.js:425:13
at processImmediate (internal/timers.js:464:21)
this is a bug, please report it here https://github.com/flood-io/element/issues/new?template=bug_report.md
Expected behavior
Report is expected to be generated in directory, under 'reports' folder and in folder named as per script name.
Screenshots
N/A
Desktop (please complete the following information):
OS: Windows 10
Node.js version: v14.17.2
Element Version v2.0.4
Additional context
Please note that C:\Users\dbown\AppData\Roaming\npm\node_modules\element-cli\node_modules@flood\element-cli\templates\report\styles.css does not exist. The file present is named 'styles.scss', ie different extension.
I got a similar error with the same version of Element. The main error is:
AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\templates\report\styles.css
the full stack trace:
@ C:/Users/swamp/AppData/Local/Yarn/Data/global/node_modules/@flood/element-cli/templates/report/script.ts 3:0-24
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\dist\src\utils\compile.js:111:28
at finalCallback (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compiler.js:257:39)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compiler.js:273:13
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at AsyncSeriesHook.lazyCompileHook (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\Hook.js:154:20)
at onCompiled (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compiler.js:271:21)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compiler.js:681:15
at eval (eval at create (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\HookCodeFactory.js:33:10), :11:1)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\ts-loader\dist\after-compile.js:43:9
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\HookCodeFactory.js:33:10), :7:1)
at AsyncSeriesHook.lazyCompileHook (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\Hook.js:154:20)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compiler.js:678:31
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at AsyncSeriesHook.lazyCompileHook (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\Hook.js:154:20)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\webpack\lib\Compilation.js:1423:35
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
> Error! An unexpected error occurred!
AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\templates\report\styles.css
at EditionInterface.exports.copy (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\mem-fs-editor\lib\actions\copy.js:48:3)
at EditionInterface.module.exports [as move] (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\mem-fs-editor\lib\actions\move.js:4:8)
at Report.writing (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\dist\src\generator\test-report\index.js:18:17)
at Object. (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:424:27)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:49:25
at new Promise ()
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:26:19
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:425:13
at processImmediate (node:internal/timers:464:21) AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\templates\report\styles.css
at EditionInterface.exports.copy (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\mem-fs-editor\lib\actions\copy.js:48:3)
at EditionInterface.module.exports [as move] (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\mem-fs-editor\lib\actions\move.js:4:8)
at Report.writing (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules@flood\element-cli\dist\src\generator\test-report\index.js:18:17)
at Object. (C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:424:27)
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:49:25
at new Promise ()
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\run-async\index.js:26:19
at C:\Users\swamp\AppData\Local\Yarn\Data\global\node_modules\yeoman-generator\lib\index.js:425:13
at processImmediate (node:internal/timers:464:21)
this is a bug, please report it here https://github.com/flood-io/element/issues/new?template=bug_report.md
I got the same error and was able to get this a little further by running sass and tsc to generate the necessary files. After doing this, the report is generated, but there are errors in the generation and on the page, so I suspect something is still missing. If it helps though, this is what I did. If you don't have sass or tsc already:
npm install -g sassnpm install -g typescript
Then,
cd <path-to-scss>
eg Mine was
C:\Users\<username>\AppData\Roaming\npm\node_modules\element-cli\node_modules\@flood\element-cli\templates
Then, compile to build the missing files:
sass .\show-more.scss .\show-more.csssass .\styles.scss .\styles.csssass .\toggle.scss .\toggle.csstsc .\script.ts
Then, run the export:
element run .\test.js --export
It will show errors, but the report will be generated.
In general, I think either the element-cli build needs to ship with this pre-compiled OR --export should copy the project files and build them correctly.