У меня есть этот пример html, для которого в POM определены следующие xpaths:
<button>
Foo
<i class="myClass" label="a label">Something</i>
</button>
<button>
Bar
<i class="myClass" label="another label">Something</i>
</button>
class myPage {
constructor() {
this.fooButton = () => $('//button[text()=\'Foo\']');
this.barButton = () => $('//button[text()=\'Bar\']');
}
}
Я хочу получить доступ к внутреннему тексту из iframe myClass, но не не хочу определять новые элементы конструктора для него - похоже на повторение кода:
this.insideSomething = () => $('//button[text()=\'Foo\']/i[text()=\'Something\']');
Есть ли способ, возможно, только определить конец xpath в его собственной функции? Примерно так:
somethingText(parentElement) {
return parentElement + '/i[text()=\'Something\']';
}
... так что я могу назвать это так, например: expect(somethingText(MyPage.FooButton).isDisplayed()).to.be.true;