Когда функция определена следующим образом, все работает, и мой тест успешно нажимает кнопку (код здесь упрощен и не вставляется при копировании, поэтому, если в описании заявки есть какие-либо синтаксические ошибки, это не ответ на заявку):
const wdio = require("webdriverio");
const options = require('./android.conf.js').config;
describe('Main',async ()=> {
it('Should click button', async ()=> {
const client = await wdio.remote(options);
const button = await client.findElement('id', 'app.debug:id/theID');
await client.isElementDisplayed(button.ELEMENT).then(async () => {
await client.elementClick(button.ELEMENT);
})
})
Но я описываю страницу объекта следующим образом:
function PageObjects() {
this.clickButton = async (client)=> {
const button = await client.findElement('id', 'app.debug:id/theID');
await client.isElementDisplayed(button.ELEMENT).then(async () => {
await client.elementClick(button.ELEMENT);
});
}
};
module.exports = PageObjects;
И моя функция такова:
const wdio = require("webdriverio");
const options = require('./android.conf.js').config;
const PageObjects = require('./po.js');
describe('Main', async ()=> {
const po = new PageObjects();
it('Should click button', async ()=> {
const client = await wdio.remote(options);
po.clickButton(client);
})
})
Он перестает работать, и мой тест не может нажать кнопку больше! Что я делаю не так?