ortoni-report 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +54 -0
- package/dist/cli/cli.js +1 -1
- package/dist/ortoni-report.d.ts +20 -3
- package/dist/ortoni-report.js +86 -45
- package/dist/ortoni-report.mjs +86 -45
- package/dist/style/main.css +86 -0
- package/dist/utils/utils.js +0 -2
- package/dist/views/main.hbs +583 -0
- package/dist/views/navbar.hbs +46 -0
- package/dist/views/summaryCard.hbs +14 -0
- package/dist/views/testPanel.hbs +37 -0
- package/dist/views/testStatus.hbs +33 -0
- package/dist/views/userInfo.hbs +46 -0
- package/package.json +3 -8
- package/readme.md +42 -57
- package/dist/css/main.css +0 -22445
- package/dist/icon/32.png +0 -0
- package/dist/icon/fail.png +0 -0
- package/dist/icon/file.png +0 -0
- package/dist/icon/flaky.png +0 -0
- package/dist/icon/pass.png +0 -0
- package/dist/icon/retry.png +0 -0
- package/dist/icon/skip.png +0 -0
- package/dist/icon/test.png +0 -0
- package/dist/icon/timeout.png +0 -0
- package/dist/report-template.hbs +0 -674
- package/dist/utils/chart.js +0 -11128
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{{#if (gr statusCount) }}
|
|
2
|
+
<div class="column is-one-third">
|
|
3
|
+
<div class="card is-clickable has-background-{{bg}} filter" data-status="{{status}}">
|
|
4
|
+
<header class="card-header has-text-centered">
|
|
5
|
+
<p class="card-header-title has-text-white">{{statusHeader}}</p>
|
|
6
|
+
</header>
|
|
7
|
+
<div class="card-content">
|
|
8
|
+
<div class="content">
|
|
9
|
+
<p class="has-text-centered has-text-white">{{statusCount}}</p>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
{{/if}}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<div class="columns is-mobile is-vcentered">
|
|
2
|
+
<div class="column">
|
|
3
|
+
<h2 class="title is-4">Tests</h2>
|
|
4
|
+
</div>
|
|
5
|
+
<div class="column">
|
|
6
|
+
<div id="project-filter" class="dropdown is-right is-hoverable is-pulled-right">
|
|
7
|
+
<div class="dropdown-trigger">
|
|
8
|
+
<button class="button" aria-haspopup="true" aria-controls="select-filter">
|
|
9
|
+
<span>Filters</span>
|
|
10
|
+
<span class="icon is-small">
|
|
11
|
+
<i class="fas fa-angle-down" aria-hidden="true"></i>
|
|
12
|
+
</span>
|
|
13
|
+
</button>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="dropdown-menu" id="select-filter" role="menu">
|
|
16
|
+
<div class="dropdown-content">
|
|
17
|
+
{{#each projects}}
|
|
18
|
+
<div class="dropdown-item">
|
|
19
|
+
<label class="checkbox is-capitalized">
|
|
20
|
+
<input type="checkbox" data-filter-type="project" value="{{this}}"> {{this}}
|
|
21
|
+
</label>
|
|
22
|
+
</div>
|
|
23
|
+
{{/each}}
|
|
24
|
+
<hr class="dropdown-divider" />
|
|
25
|
+
{{#each allTags}}
|
|
26
|
+
<div class="dropdown-item">
|
|
27
|
+
<label class="checkbox">
|
|
28
|
+
<input type="checkbox" data-filter-type="test-tags" value="{{this}}"> {{this}}
|
|
29
|
+
</label>
|
|
30
|
+
</div>
|
|
31
|
+
{{/each}}
|
|
32
|
+
<hr class="dropdown-divider" />
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<div class="icon-text">
|
|
2
|
+
{{#if isRetry}}
|
|
3
|
+
<span class="icon has-text-info">
|
|
4
|
+
<svg class="image is-16x16" id="Layer_1" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg" data-name="Layer 1"><circle cx="256" cy="256" fill="#00ab5e" r="256"/><path d="m387.823 256.136c0 72.688-59.135 131.823-131.823 131.823s-131.824-59.135-131.824-131.823a132.14 132.14 0 0 1 77.501-120.136 16 16 0 1 1 13.2 29.15 99.852 99.852 0 1 0 103.749 13.25v25.833a16 16 0 0 1 -32 0v-64.192a16 16 0 0 1 16-16h64.192a16 16 0 0 1 0 32h-25.066a132.143 132.143 0 0 1 46.071 100.095z" fill="#fff"/></svg>
|
|
5
|
+
</span>
|
|
6
|
+
{{else}}
|
|
7
|
+
<span class="icon has-text-info">
|
|
8
|
+
{{#if (eq status "passed")}}
|
|
9
|
+
<svg class="image is-16x16" height="512" viewBox="0 0 520 520" width="512" xmlns="http://www.w3.org/2000/svg">
|
|
10
|
+
<g id="_15-Checked" data-name="15-Checked">
|
|
11
|
+
<circle cx="208.52" cy="288.5" fill="#b0ef8f" r="176.52" />
|
|
12
|
+
<path
|
|
13
|
+
d="m210.516 424.937-2.239-3.815c-34.2-58.27-125.082-181.928-126-183.17l-1.311-1.781 30.963-30.6 98.012 68.439c61.711-80.079 119.283-135.081 156.837-167.2 41.081-35.135 67.822-51.31 68.092-51.465l.608-.364h52.522l-5.017 4.468c-129.029 114.926-268.883 359.19-270.276 361.644z"
|
|
14
|
+
fill="#009045" />
|
|
15
|
+
</g>
|
|
16
|
+
</svg>
|
|
17
|
+
{{/if}}
|
|
18
|
+
{{#if (eq status "failed")}}
|
|
19
|
+
<svg class="image is-16x16" height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m256 0c-141.164062 0-256 114.835938-256 256s114.835938 256 256 256 256-114.835938 256-256-114.835938-256-256-256zm0 0" fill="#f44336"/><path d="m350.273438 320.105469c8.339843 8.34375 8.339843 21.824219 0 30.167969-4.160157 4.160156-9.621094 6.25-15.085938 6.25-5.460938 0-10.921875-2.089844-15.082031-6.25l-64.105469-64.109376-64.105469 64.109376c-4.160156 4.160156-9.621093 6.25-15.082031 6.25-5.464844 0-10.925781-2.089844-15.085938-6.25-8.339843-8.34375-8.339843-21.824219 0-30.167969l64.109376-64.105469-64.109376-64.105469c-8.339843-8.34375-8.339843-21.824219 0-30.167969 8.34375-8.339843 21.824219-8.339843 30.167969 0l64.105469 64.109376 64.105469-64.109376c8.34375-8.339843 21.824219-8.339843 30.167969 0 8.339843 8.34375 8.339843 21.824219 0 30.167969l-64.109376 64.105469zm0 0" fill="#fafafa"/></svg>
|
|
20
|
+
{{/if}}
|
|
21
|
+
{{#if (eq status "skipped")}}
|
|
22
|
+
<svg class="image is-16x16" id="Layer_1" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><g clip-rule="evenodd" fill-rule="evenodd"><path d="m256 0c-141.2 0-256 114.8-256 256s114.8 256 256 256 256-114.8 256-256-114.8-256-256-256z" fill="#fec006"/><path d="m379 244.8c6.3 6.3 6.3 16.4 0 22.7l-112.7 112.5c-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7c-6.3-6.3-6.3-16.4 0-22.6l101.3-101.3-101.3-101.3c-6.3-6.3-6.3-16.4 0-22.7s16.4-6.3 22.7 0zm-110.8 22.6-112.5 112.5c-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7c-6.2-6.2-6.2-16.4 0-22.6l101.1-101.2-101.2-101.2c-6.2-6.2-6.2-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l112.5 112.5c6.3 6.2 6.3 16.4.1 22.6z" fill="#fff"/></g></svg>
|
|
23
|
+
{{/if}}
|
|
24
|
+
{{#if (eq status "timedOut")}}
|
|
25
|
+
<svg class="image is-16x16" id="Date__x26__Time_-_Flat" enable-background="new 0 0 64 64" height="512" viewBox="0 0 64 64" width="512" xmlns="http://www.w3.org/2000/svg"><g><g><g><path d="m46.12 16.71h-.43c-1.427 0-2.769-.555-3.777-1.562-1.008-1.009-1.563-2.347-1.563-3.769 0-1.842-1.494-3.34-3.33-3.34h-.7c-1.836 0-3.33 1.498-3.33 3.34v3.33c0 .553-.447 1-1 1s-1-.447-1-1v-3.33c0-2.944 2.391-5.34 5.33-5.34h.699c2.939 0 5.33 2.396 5.33 5.34 0 .888.348 1.723.978 2.354.631.63 1.47.977 2.363.977h.43c1.842 0 3.34-1.494 3.34-3.33 0-.553.447-1 1-1s1 .447 1 1c0 2.939-2.396 5.33-5.34 5.33z" fill="#565662"/></g><g><path d="m50.46 8.651c-.553 0-1-.447-1-1v-2.892c0-.553.447-1 1-1s1 .447 1 1v2.893c0 .552-.447.999-1 .999z" fill="#fb7088"/></g><g><path d="m47.824 9.744c-.256 0-.512-.098-.707-.293l-2.046-2.046c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.046 2.046c.391.391.391 1.023 0 1.414-.195.195-.451.293-.707.293z" fill="#fb7088"/></g><g><path d="m55.142 17.062c-.256 0-.512-.098-.707-.293l-2.045-2.045c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.045 2.045c.391.391.391 1.023 0 1.414-.196.195-.452.293-.707.293z" fill="#fb7088"/></g><g><path d="m57.081 12.38h-2.893c-.553 0-1-.447-1-1s.447-1 1-1h2.893c.553 0 1 .447 1 1s-.447 1-1 1z" fill="#fb7088"/></g><g><path d="m53.097 9.744c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.023 0-1.414l2.045-2.046c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-2.045 2.046c-.196.195-.451.293-.707.293z" fill="#fb7088"/></g><path d="m36.48 18.96v-4.25h-8.96v4.25c-9.04 2.03-15.79 10.11-15.79 19.76 0 11.2 9.08 20.27 20.27 20.27s20.27-9.07 20.27-20.27c0-9.65-6.75-17.73-15.79-19.76z" fill="#565662"/><path d="m32 54.489c-8.694 0-15.767-7.073-15.767-15.767s7.073-15.767 15.767-15.767 15.767 7.073 15.767 15.767c0 8.693-7.073 15.767-15.767 15.767z" fill="#faf8f9"/><path d="m18.233 40.721c0-8.694 7.073-15.767 15.767-15.767 3.839 0 7.359 1.382 10.096 3.671-2.895-3.462-7.241-5.671-12.096-5.671-8.694 0-15.767 7.073-15.767 15.767 0 4.855 2.209 9.201 5.671 12.096-2.289-2.737-3.671-6.257-3.671-10.096z" fill="#e0cad6"/><g><path d="m31.991 26.758c-.553 0-1-.447-1-1v-3.999c0-.553.447-1 1-1s1 .447 1 1v3.999c0 .553-.447 1-1 1z" fill="#565662"/></g><g><path d="m22.827 30.562c-.256 0-.512-.098-.707-.293l-2.828-2.828c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.828 2.828c.391.391.391 1.023 0 1.414-.195.195-.451.293-.707.293z" fill="#565662"/></g><g><path d="m19.036 39.73h-3.998c-.553 0-1-.447-1-1s.447-1 1-1h3.998c.553 0 1 .447 1 1s-.447 1-1 1z" fill="#565662"/></g><g><path d="m20.012 51.722c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.023 0-1.414l2.828-2.827c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-2.828 2.827c-.196.195-.451.293-.707.293z" fill="#565662"/></g><g><path d="m32.009 56.684c-.553 0-1-.447-1-1v-3.999c0-.553.447-1 1-1s1 .447 1 1v3.999c0 .552-.447 1-1 1z" fill="#565662"/></g><g><path d="m44.001 51.709c-.256 0-.512-.098-.707-.293l-2.828-2.827c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.828 2.827c.391.391.391 1.023 0 1.414-.195.195-.451.293-.707.293z" fill="#565662"/></g><g><path d="m48.962 39.712h-3.998c-.553 0-1-.447-1-1s.447-1 1-1h3.998c.553 0 1 .447 1 1s-.447 1-1 1z" fill="#565662"/></g><g><path d="m41.16 30.549c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.023 0-1.414l2.828-2.828c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-2.828 2.828c-.195.195-.451.293-.707.293z" fill="#565662"/></g><g><path d="m32 38.228c-.553 0-1-.447-1-1v-7.819c0-.553.447-1 1-1s1 .447 1 1v7.819c0 .552-.447 1-1 1z" fill="#565662"/></g><g><path d="m26.047 45.675c-.256 0-.512-.098-.707-.293-.391-.391-.391-1.024 0-1.414l4.558-4.555c.391-.391 1.023-.391 1.414 0s.391 1.024 0 1.414l-4.558 4.555c-.195.195-.451.293-.707.293z" fill="#565662"/></g><circle cx="32" cy="38.721" fill="#ffc361" r="2.54"/></g></g></svg>
|
|
26
|
+
{{/if}}
|
|
27
|
+
{{#if (eq status "flaky")}}
|
|
28
|
+
<svg class="image is-16x16" height="512" viewBox="0 0 64 64" width="512" xmlns="http://www.w3.org/2000/svg"><g id="Layer_35" data-name="Layer 35"><path d="m32 3.4a28.59 28.59 0 0 0 -28.6 28.6 28.59 28.59 0 0 0 28.6 28.6 28.59 28.59 0 0 0 28.6-28.6 28.59 28.59 0 0 0 -28.6-28.6zm0 49.2a4.32 4.32 0 1 1 4.31-4.31 4.32 4.32 0 0 1 -4.31 4.31zm5.23-35.6-1.63 22a.6.6 0 0 1 -.6.56h-6a.6.6 0 0 1 -.6-.56l-1.63-22a5.24 5.24 0 1 1 10.46 0z" fill="#ffc048"/></g></svg>
|
|
29
|
+
{{/if}}
|
|
30
|
+
</span>
|
|
31
|
+
{{/if}}
|
|
32
|
+
<span>{{title}}</span>
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<header class="has-text-centered title is-4">Suite</header>
|
|
2
|
+
<div class="columns">
|
|
3
|
+
<div class="column is-half">
|
|
4
|
+
<div class="content">
|
|
5
|
+
{{#if authorName}}
|
|
6
|
+
<p class="is-flex is-align-items-center mb-2">
|
|
7
|
+
<span class="icon has-text-link is-small mr-2">
|
|
8
|
+
<i class="fa-solid fa-user-tie"></i>
|
|
9
|
+
</span>
|
|
10
|
+
<span class="is-size-6">{{authorName}}</span>
|
|
11
|
+
</p>
|
|
12
|
+
{{/if}}
|
|
13
|
+
{{#if testType}}
|
|
14
|
+
<p class="is-flex is-align-items-center mb-2">
|
|
15
|
+
<span class="icon has-text-primary is-small mr-2">
|
|
16
|
+
<i class="fas fa-code-branch" style="color: thistle;"></i>
|
|
17
|
+
</span>
|
|
18
|
+
<span class="is-size-6">{{testType}}</span>
|
|
19
|
+
</p>
|
|
20
|
+
{{/if}}
|
|
21
|
+
<p class="is-flex is-align-items-center mb-2">
|
|
22
|
+
<span class="icon has-text-primary is-small mr-2">
|
|
23
|
+
<i class="fas fa-stopwatch" style="color: peachpuff;"></i>
|
|
24
|
+
</span>
|
|
25
|
+
<span class="is-size-6">{{totalDuration}}</span>
|
|
26
|
+
</p>
|
|
27
|
+
<p class="is-flex is-align-items-center mb-2">
|
|
28
|
+
<span class="icon has-text-success is-small mr-2">
|
|
29
|
+
<i class="fas fa-chart-pie"></i>
|
|
30
|
+
</span>
|
|
31
|
+
<span class="is-size-6 has-text-weight-bold">{{successRate}} %</span>
|
|
32
|
+
</p>
|
|
33
|
+
<p class="is-flex is-align-items-center mb-2">
|
|
34
|
+
<span class="icon has-text-info is-small mr-2">
|
|
35
|
+
<i class="fas fa-calendar-alt"></i>
|
|
36
|
+
</span>
|
|
37
|
+
<span class="is-size-6">{{lastRunDate}}</span>
|
|
38
|
+
</p>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="column is-half">
|
|
42
|
+
<div class="chart-container">
|
|
43
|
+
<canvas id="testChart"></canvas>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
package/package.json
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ortoni-report",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Playwright Report By LetCode with Koushik",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ortoni-report": "./dist/cli/cli.js"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"buildparcel": "parcel build",
|
|
10
9
|
"tsc": "tsc",
|
|
11
|
-
"test": "npx playwright test",
|
|
12
10
|
"build": "tsup",
|
|
13
|
-
"release": "npm publish"
|
|
14
|
-
"lint": "tsc"
|
|
11
|
+
"release": "npm publish"
|
|
15
12
|
},
|
|
16
13
|
"files": [
|
|
17
14
|
"dist",
|
|
@@ -43,9 +40,7 @@
|
|
|
43
40
|
"commander": "^12.1.0",
|
|
44
41
|
"handlebars": "^4.7.8",
|
|
45
42
|
"tsup": "^6.5.0",
|
|
46
|
-
"typescript": "^4.9.4"
|
|
47
|
-
},
|
|
48
|
-
"dependencies": {
|
|
43
|
+
"typescript": "^4.9.4",
|
|
49
44
|
"parcel": "^2.12.0"
|
|
50
45
|
},
|
|
51
46
|
"main": "dist/ortoni-report.js",
|
package/readme.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Ortoni Report by Koushik (LetCode with Koushik)
|
|
2
2
|
|
|
3
|
-
Welcome to Ortoni Report
|
|
3
|
+
Welcome to **Ortoni Report**, a robust HTML report generator tailored for Playwright tests. Ortoni Report introduces powerful features to enhance test reporting, making it easier to visualize and manage test results.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Experience the live report: [Ortoni Report](https://ortoni.netlify.app/)
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|
|
|
9
9
|
## Key Features
|
|
10
10
|
|
|
@@ -15,7 +15,7 @@ Explore the live demo: [OrtoniReport Demo](https://ortoni.netlify.app/)
|
|
|
15
15
|
- Each suite includes categorized tests under respective projects, providing clear organization.
|
|
16
16
|
|
|
17
17
|
3. **Comprehensive Test Details**
|
|
18
|
-
- Display test status (passed, failed, skipped), duration, errors, logs, and screenshots.
|
|
18
|
+
- Display test status (passed, failed, skipped), duration, tags, errors, logs, and screenshots.
|
|
19
19
|
- Sort and filter tests by suite, project, and script for detailed insights.
|
|
20
20
|
|
|
21
21
|
4. **Summary Statistics**
|
|
@@ -31,8 +31,8 @@ Explore the live demo: [OrtoniReport Demo](https://ortoni.netlify.app/)
|
|
|
31
31
|
|
|
32
32
|
7. **Customization and Themes**
|
|
33
33
|
- Customize project details, author name, test types, and toggle between dark/light themes.
|
|
34
|
-
- Option to choose between Base64 images or file
|
|
35
|
-
-
|
|
34
|
+
- Option to choose between Base64 images or file paths for screenshots.
|
|
35
|
+
- Users can set the report file name.
|
|
36
36
|
|
|
37
37
|
8. **Responsive Design**
|
|
38
38
|
- Optimized layout that adapts seamlessly to different screen sizes for accessibility.
|
|
@@ -40,53 +40,54 @@ Explore the live demo: [OrtoniReport Demo](https://ortoni.netlify.app/)
|
|
|
40
40
|
9. **Integration and Configuration**
|
|
41
41
|
- Easily integrate with Playwright configurations using TypeScript/JavaScript.
|
|
42
42
|
- Configure reporting preferences within your Playwright setup.
|
|
43
|
-
|
|
44
|
-
10. **Add logo to the report**
|
|
45
|
-
- Add relative or absolute path of the image to the config.
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
10. **Add Logo to the Report**
|
|
45
|
+
- Add a relative or absolute path of the image to the config.
|
|
49
46
|
|
|
47
|
+
11. **Share Report**
|
|
48
|
+
- Once report is generated it is ready to share
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
12. **Advanced Filtering**
|
|
51
|
+
- Filter tests by project, tags, and status simultaneously, with the ability to display only those tests matching the selected criteria.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
13. **Colorful Dashboard**
|
|
54
|
+
- Enhanced the visual appeal of the dashboard with vibrant and intuitive colors.
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
14. **Display Selected Status on UI**
|
|
57
|
+
- The selected status filter is now visible on the UI, making it easier to track the current filter settings.
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
```
|
|
59
|
+
15. **Hide Skipped Tests by Default**
|
|
60
|
+
- Skipped tests are now hidden by default when using the "All Tests" filter, providing a cleaner and more focused view of relevant tests.
|
|
60
61
|
|
|
61
|
-
###
|
|
62
|
+
### How to Use Ortoni Report
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
#### Installation
|
|
65
|
+
|
|
66
|
+
1. **Install the ortoni-report package**:
|
|
64
67
|
|
|
65
68
|
```sh
|
|
66
|
-
|
|
69
|
+
npm install -g ortoni-report
|
|
67
70
|
```
|
|
68
71
|
|
|
69
|
-
### Command Overview
|
|
70
|
-
|
|
71
|
-
- `npx ortoni-report gr -f <filename>`: Bundle the specified report file.
|
|
72
|
-
- `-f, --filename <filename>`: Specify the filename for the generated report (default: `ortoni-report.html`).
|
|
73
|
-
|
|
74
72
|
### Configurable Report Generation
|
|
75
73
|
|
|
76
74
|
Configure OrtoniReport in your `playwright.config.ts`:
|
|
77
75
|
|
|
78
76
|
```typescript
|
|
79
77
|
import { defineConfig } from '@playwright/test';
|
|
80
|
-
import { OrtoniReportConfig } from
|
|
78
|
+
import { OrtoniReportConfig } from "ortoni-report";
|
|
81
79
|
|
|
82
80
|
const reportConfig: OrtoniReportConfig = {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
authorName: "LetCode Koushik",
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
preferredTheme: "light",
|
|
82
|
+
filename: "index",
|
|
83
|
+
authorName: "Koushik (LetCode with Koushik)",
|
|
84
|
+
projectName: "Ortoni Report V2.0.3",
|
|
85
|
+
testType: "Release",
|
|
86
|
+
title: "Ortoni Report By LetCode Koushik",
|
|
87
|
+
logo: "logo.png",
|
|
88
|
+
base64Image: true,
|
|
89
|
+
folderPath: "report",
|
|
90
|
+
showProject: false
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
export default defineConfig({
|
|
@@ -94,32 +95,16 @@ export default defineConfig({
|
|
|
94
95
|
// Other Playwright configurations
|
|
95
96
|
});
|
|
96
97
|
```
|
|
97
|
-
|
|
98
|
-
### Common Issue
|
|
99
|
-
```
|
|
100
|
-
Error: Command failed:
|
|
101
|
-
@parcel/namer-default: Target "main" declares an
|
|
102
|
-
output file path of "index.js" which does not match
|
|
103
|
-
the compiled bundle type "html".
|
|
104
|
-
```
|
|
105
|
-
Solution:
|
|
106
|
-
Remove "main" in the ```package.json``` file
|
|
107
|
-
|
|
108
98
|
### Comprehensive Test Details
|
|
109
99
|
|
|
110
|
-
- **Rich Test Information
|
|
111
|
-
- **Color-coded Status
|
|
112
|
-
|
|
113
|
-
### Handlebars Template Integration
|
|
114
|
-
|
|
115
|
-
- **Customizable Reports:** HTML reports are generated using Handlebars templates, offering flexibility in customization and styling.
|
|
116
|
-
- **JSON Helper:** Includes a custom Handlebars helper for managing complex data structures.
|
|
100
|
+
- **Rich Test Information**: Each test includes details like title, status, duration, tags, errors, steps, logs, video, and screenshot.
|
|
101
|
+
- **Color-coded Status**: Status indicators (green for passed, red for failed, yellow for skipped) for quick identification.
|
|
102
|
+
- **Static HTML Report**: Single file can be shared easily
|
|
117
103
|
|
|
118
104
|
### Future Plans
|
|
119
105
|
|
|
120
|
-
- **Enhanced Customization
|
|
121
|
-
- **CI/CD Integration
|
|
122
|
-
- **Advanced Filtering:** Expanded filtering capabilities to focus on specific test subsets.
|
|
106
|
+
- **Enhanced Customization**: Additional options for customizing report appearance and structure.
|
|
107
|
+
- **CI/CD Integration**: Improved support for CI/CD environments.
|
|
123
108
|
|
|
124
109
|
### Change Logs
|
|
125
110
|
|
|
@@ -133,10 +118,10 @@ View the [LICENSE](https://github.com/ortoniKC/ortoni-report/blob/main/LICENSE.m
|
|
|
133
118
|
|
|
134
119
|
We value your feedback and contributions! For issues, suggestions, or contributions, visit our [GitHub repository](https://github.com/ortoniKC/ortoni-report).
|
|
135
120
|
|
|
136
|
-
Thank you for choosing
|
|
121
|
+
Thank you for choosing Ortoni Report. We're committed to enhancing your Playwright testing experience.
|
|
137
122
|
|
|
138
123
|
---
|
|
139
124
|
|
|
140
125
|
**LetCode with Koushik**
|
|
141
126
|
|
|
142
|
-
---
|
|
127
|
+
---
|