artes 1.0.18 → 1.0.20
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "artes",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "The package provide step definitions and user writes feature files, and the package handles automation, with optional POM files and custom step definitions.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -11,10 +11,42 @@ class Elements {
|
|
|
11
11
|
if (!context.page) {
|
|
12
12
|
throw new Error("Page context is not initialized.");
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
const selectorType =
|
|
16
|
+
this.elements?.[element]?.selector?.split("=")[0] ||
|
|
17
|
+
this.elements?.[element]?.split("=")[0] ||
|
|
18
|
+
element?.split("=")[0];
|
|
14
19
|
const selector =
|
|
15
|
-
this.elements?.[element]?.selector
|
|
20
|
+
this.elements?.[element]?.selector?.split("=")[1] ||
|
|
21
|
+
this.elements?.[element]?.split("=")[1] ||
|
|
22
|
+
element?.split("=")[1];
|
|
23
|
+
|
|
24
|
+
const locator = [selectorType, selector];
|
|
25
|
+
|
|
16
26
|
const waitTime = this.elements[element]?.waitTime * 1000 || 0;
|
|
17
|
-
|
|
27
|
+
|
|
28
|
+
switch (locator[0]) {
|
|
29
|
+
case "xpath":
|
|
30
|
+
return context.page.locator(`xpath=${locator[1]}`);
|
|
31
|
+
case "name":
|
|
32
|
+
return context.page.locator(`[name=${locator[1]}]`);
|
|
33
|
+
case "placeholder":
|
|
34
|
+
return context.page.getByPlaceholder(locator[1]);
|
|
35
|
+
case "text":
|
|
36
|
+
return context.page.getByText(locator[1]);
|
|
37
|
+
case "label":
|
|
38
|
+
return context.page.getByLabel(locator[1]);
|
|
39
|
+
case "role":
|
|
40
|
+
return context.page.getByRole(locator[1]);
|
|
41
|
+
case "alt":
|
|
42
|
+
return context.page.getByAltText(locator[1]);
|
|
43
|
+
case "title":
|
|
44
|
+
return context.page.getByTitle(locator[1]);
|
|
45
|
+
case "testid":
|
|
46
|
+
return context.page.getByTestId(locator[1]);
|
|
47
|
+
default:
|
|
48
|
+
return context.page.locator(locator[0]);
|
|
49
|
+
}
|
|
18
50
|
}
|
|
19
51
|
|
|
20
52
|
static getSelector(element) {
|
package/src/hooks/hooks.js
CHANGED
|
@@ -20,12 +20,6 @@ setDefaultTimeout(cucumberConfig.default.cucumberTimeout * 1000);
|
|
|
20
20
|
|
|
21
21
|
BeforeAll(async function () {
|
|
22
22
|
pomCollector();
|
|
23
|
-
|
|
24
|
-
// browser.tracing.start({
|
|
25
|
-
// sources: true,
|
|
26
|
-
// screenshots: true,
|
|
27
|
-
// snapshots: true,
|
|
28
|
-
// });
|
|
29
23
|
});
|
|
30
24
|
|
|
31
25
|
Before(async function () {
|
|
@@ -33,6 +27,11 @@ Before(async function () {
|
|
|
33
27
|
request = await invokeRequest();
|
|
34
28
|
context.page = await browser.newPage();
|
|
35
29
|
context.request = await request;
|
|
30
|
+
await browser.tracing.start({
|
|
31
|
+
sources: true,
|
|
32
|
+
screenshots: true,
|
|
33
|
+
snapshots: true,
|
|
34
|
+
});
|
|
36
35
|
});
|
|
37
36
|
|
|
38
37
|
After(async function ({ pickle, result }) {
|
|
@@ -46,10 +45,10 @@ After(async function ({ pickle, result }) {
|
|
|
46
45
|
await this.attach(img, "image/png");
|
|
47
46
|
}
|
|
48
47
|
|
|
48
|
+
await browser.tracing.stop({ path: "./trace.zip" });
|
|
49
49
|
await context.page.close();
|
|
50
50
|
await browser.close();
|
|
51
51
|
|
|
52
|
-
// await browser.tracing.stop({ path: 'trace.zip' });
|
|
53
52
|
if (result?.status != Status.PASSED) {
|
|
54
53
|
const videoPath = await context.page.video().path();
|
|
55
54
|
const webmBuffer = await fs.readFileSync(videoPath);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const { Then } = require("../helper/imports/commons");
|
|
1
|
+
const { Then, selector } = require("../helper/imports/commons");
|
|
2
2
|
const { assert } = require("../helper/stepFunctions/exporter");
|
|
3
3
|
|
|
4
4
|
// Check if a selector should be attached
|
|
@@ -181,7 +181,8 @@ Then(
|
|
|
181
181
|
|
|
182
182
|
// Check if the page should have a specific URL
|
|
183
183
|
Then("User expects to be in {string} page", async function (url) {
|
|
184
|
-
await
|
|
184
|
+
const URL = await selector(url);
|
|
185
|
+
await assert.shouldPageHaveURL(URL);
|
|
185
186
|
});
|
|
186
187
|
|
|
187
188
|
// Check if the response should be OK
|