diff --git a/lib/api/web-element/scoped-element.js b/lib/api/web-element/scoped-element.js index 1aaee5f86..4385c3863 100644 --- a/lib/api/web-element/scoped-element.js +++ b/lib/api/web-element/scoped-element.js @@ -23,6 +23,7 @@ class ScopedWebElement { 'findAllByPlaceholderText': ['getAllByPlaceholderText'], 'findAllByAltText': ['getAllByAltText'], 'getRect': ['getSize', 'getLocation', 'rect'], + 'getText': ['text'], 'getProperty': ['property'], 'getCssProperty': ['css'], 'isVisible': ['isDisplayed'] diff --git a/test/src/api/commands/web-element/testGetText.js b/test/src/api/commands/web-element/testGetText.js index 14162147d..056bb49f1 100644 --- a/test/src/api/commands/web-element/testGetText.js +++ b/test/src/api/commands/web-element/testGetText.js @@ -38,6 +38,30 @@ describe('element().getText() command', function () { assert.strictEqual(resultValue, 'Signup'); }); + it('test .element().text() alias', async function() { + MockServer.addMock({ + url: '/session/13521-10219-202/element/0/text', + method: 'GET', + response: JSON.stringify({ + value: 'Signup' + }) + }, true); + + const resultPromise = this.client.api.element('#signupSection').text(); + assert.strictEqual(resultPromise instanceof Element, false); + assert.strictEqual(typeof resultPromise.find, 'undefined'); + + assert.strictEqual(resultPromise instanceof Promise, false); + assert.strictEqual(typeof resultPromise.then, 'function'); + + const result = await resultPromise; + assert.strictEqual(result instanceof WebElement, false); + assert.strictEqual(result, 'Signup'); + + const resultValue = await resultPromise.value; + assert.strictEqual(resultValue, 'Signup'); + }); + it('test .element().find().getText()', async function() { MockServer.addMock({ url: '/session/13521-10219-202/element/1/text', @@ -110,4 +134,5 @@ describe('element().getText() command', function () { assert.strictEqual(await resultPromise.assert.not.contains('Signupx'), 'Signup'); assert.strictEqual(await resultPromise.assert.not.matches(/Si[a-z]{2}upx/), 'Signup'); }); + }); diff --git a/types/tests/webElement.test-d.ts b/types/tests/webElement.test-d.ts index ed24c4f51..892ccb8ff 100644 --- a/types/tests/webElement.test-d.ts +++ b/types/tests/webElement.test-d.ts @@ -136,6 +136,7 @@ describe('new element() api', function () { expectType>(elem.getId()); expectType>(elem.getTagName()); expectType>(elem.getText()); + expectType>(elem.text()); expectType>(elem.getProperty('property-name')); expectType>(elem.getAttribute('attrib-name')); diff --git a/types/web-element.d.ts b/types/web-element.d.ts index d8fc0c716..ff69e543c 100644 --- a/types/web-element.d.ts +++ b/types/web-element.d.ts @@ -148,6 +148,7 @@ export interface ScopedElement extends Element, PromiseLike { getTagName(): ElementValue; getText(): ElementValue; + text(): ElementValue; click(): Promise;