UNPKG

nightwatch

Version:

Easy to use Node.js based end-to-end testing solution for web applications using the W3C WebDriver API.

50 lines (41 loc) 1.21 kB
const __RECURSION__ = 'recursion'; class LocateStrategy { static get Strategies() { return { ID: 'id', CSS_SELECTOR: 'css selector', LINK_TEXT: 'link text', PARTIAL_LINK_TEXT: 'partial link text', TAG_NAME: 'tag name', XPATH: 'xpath', NAME: 'name', CLASS_NAME: 'class name', // Appium-specific strategies ACCESSIBILITY_ID: 'accessibility id', ANDROID_UIAUTOMATOR: '-android uiautomator', IOS_PREDICATE_STRING: '-ios predicate string', IOS_CLASS_CHAIN: '-ios class chain' }; } static isValid(strategy) { return Object.keys(LocateStrategy.Strategies).some(key => { return String(strategy).toLocaleLowerCase() === LocateStrategy.Strategies[key]; }); } static getList() { return Object.keys(LocateStrategy.Strategies).map(k => LocateStrategy.Strategies[k]).join(', '); } static get XPATH() { return LocateStrategy.Strategies.XPATH; } static get CSS_SELECTOR() { return LocateStrategy.Strategies.CSS_SELECTOR; } static getDefault() { return LocateStrategy.CSS_SELECTOR; } static get Recursion() { return __RECURSION__; } } module.exports = LocateStrategy;