我是 webdriver io 和 typescript 的新手。
无法理解为什么从页面文件输出到控制台显示值但测试并特别期望它的一部分总是将其报告为未定义。
Repo。 测试执行的控制台输出:
itemsPrice: 129.94 \**this is from console.log mentioned below*
Error: Expect to have property value
Expected: "Item total: $129.94"
Received: undefined
describe('Test', () => {
it.only('Order', async () => {
...
await expect(await CheckoutOverviewPage.getItemsPrice()).toHaveValue(129.94);
});
});
import Page from './page';
class CheckoutOverviewPage extends Page {
get itemsPrice () { return $('//*[@class="summary_subtotal_label"]')}
async getItemsPrice () {
var finalValue;
(await this.itemsPrice).getText().then((text) => {
console.log("itemsPrice: " + parseFloat(text.replace('Item total: $', '')));
finalValue = parseFloat(text.replace('Item Total: $', ''));
});
return finalValue
}