browser-actions
Version:
Implementing Re-Usable Browser Actions For Cypress
63 lines (53 loc) • 1.95 kB
JavaScript
const ReturnLocator = require("./readElement");
const re = new ReturnLocator();
Cypress.Commands.add("shouldHaveText", (elementObj, text, timeout = 10000) => {
const element = re.returnElement(elementObj, timeout);
element.should('have.text', text);
});
Cypress.Commands.add("shouldBeVisible", (elementObj, timeout = 10000) => {
const element = re.returnElement(elementObj, timeout);
element.should('be.visible');
});
Cypress.Commands.add("shouldNotExist", (elementObj, timeout = 10000) => {
const element = re.returnElement(elementObj, timeout);
element.should('not.exist');
});
Cypress.Commands.add("shouldBeEnabled", (elementObj, timeout = 10000) => {
const element = re.returnElement(elementObj, timeout);
element.should('be.enabled');
});
Cypress.Commands.add("shouldBeDisabled", (elementObj, timeout = 10000) => {
const element = re.returnElement(elementObj, timeout);
element.should('be.disabled');
});
Cypress.Commands.add(
"shouldContainText",
(elementObj, text, timeout = 10000) => {
const element = re.returnElement(elementObj, text, timeout);
element.should('contain', text);
}
);
Cypress.Commands.add(
"shouldNotContainText",
(elementObj, text, timeout = 10000) => {
const element = re.returnElement(elementObj, text, timeout);
element.should('not.contain', text);
}
);
Cypress.Commands.add(
"shouldNotContainText",
(elementObj, text, timeout = 10000) => {
let mapEntries = new Map(Object.entries(map));
mapEntries.forEach((value, key) => {
const element = re.returnElement(elementObj, text, timeout);
element.should('have.text', value);
});
}
);
Cypress.Commands.add("verifyMultipleTexts", (map) => {
let mapEntries = new Map(Object.entries(map));
mapEntries.forEach((value, key) => {
const element = re.returnElement(value);
element.should('have.text', key);
});
});