@serenity-js/web
Version:
Serenity/JS Screenplay Pattern library offering a flexible, web driver-agnostic approach for interacting with web-based user interfaces and components, suitable for various testing contexts
19 lines • 849 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Selector = void 0;
const core_1 = require("@serenity-js/core");
const tiny_types_1 = require("tiny-types");
/**
* Describes a selector you use to identify a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or a group of [`PageElement`](https://serenity-js.org/api/web/class/PageElements/).
*
* @group Models
*/
class Selector extends tiny_types_1.TinyType {
toString() {
const selectorDescription = this.constructor.name.replaceAll(/([a-z])([A-Z])/g, '$1 $2').toLowerCase();
const parametersDescription = Object.keys(this).map(field => (0, core_1.f) `${this[field]}`).join(', ');
return `${selectorDescription} (${parametersDescription})`;
}
}
exports.Selector = Selector;
//# sourceMappingURL=Selector.js.map
;