Skip to content
This repository was archived by the owner on Feb 3, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ module.exports = {
"space-before-blocks": [
"error",
"always"
],
"space-infix-ops": [
"error",
{ "int32Hint": false }
]
}
};
23 changes: 23 additions & 0 deletions example/tests/helpers.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,27 @@ describe("Helpers", () => {
//Assert
expect(newPage._timeoutSettings.timeout()).toEqual(config.defaultTimeout);
});

it("should generate random text with no characters specified", async () => {
//Arrange, Act
const text = await Helpers.generateRandomText(10);
const regex = /^[A-Za-z0-9]+$/;

//Assert
expect(regex.test(text)).toBeTruthy();
expect(text.length).toEqual(10);
});

it("should generate random text with custom characters list", async () => {
//Arrange
const chars = "0123456789";
const regex = /^[0-9]+$/;

//Act
const text = await Helpers.generateRandomText(8, chars);

//Assert
expect(regex.test(text)).toBeTruthy();
expect(text.length).toEqual(8);
});
});
19 changes: 16 additions & 3 deletions framework/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@ const fs = require("fs");
const retry = require("async-retry");
const config = require(process.cwd() + "/framework.config");
const defaultTimeout = config.defaultTimeout;
const defaultCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

class Helpers {
async takeScreenshot(filename) {
var targetDir = `./logs/${jasmine["currentSuite"].fullName}`;
if (typeof jasmine["currentTest"] !== "undefined") {
targetDir = targetDir +`/${jasmine["currentTest"].description}`;
targetDir = targetDir + `/${jasmine["currentTest"].description}`;
}
fs.mkdirSync(targetDir, { recursive: true });
const screenshotPath = `${targetDir}/${filename || Date.now()}.png`;
Expand All @@ -22,13 +23,13 @@ class Helpers {
factor: 2,
minTimeout: minTimeout,
maxTimeout: Infinity,
randomize: false
randomize: false,
});
}

async goToUrlAndLoad(url, timeout = defaultTimeout) {
await page.goto(url, {
waitUntil: "networkidle0", timeout: timeout
waitUntil: "networkidle0", timeout: timeout,
});
}

Expand All @@ -42,6 +43,18 @@ class Helpers {
const environment = require(process.cwd() + "/test-environment/environment.js");
await environment.prototype.pageSetup(page);
}

async generateRandomText(length, characters = defaultCharacters) {
var result = "";
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(
Math.floor(Math.random() * charactersLength)
);
}
console.log(`Generated a random text: ${result}`);
return result;
}
}

export default new Helpers();