如何在Javascript中连续调用异步函数

问题描述 投票:0回答:1

大家,在我的学校,我有一个项目,我编写 JavaScript 来自动测试页面 我使用 webdriver 发短信 但我有一个错误: TypeError: loginPageInstance.inputUsername(...).inputPassword is not a function 在上下文中。 (D:\PVD_HOCTAP\后端\Javascript\Automated_Testing_demo est\pageObject2 estScript/testLogin.js:18:67) 我仍然不知道如何解决它。我希望大家能帮助我。抱歉我的英语不好,希望大家原谅我enter image description hereenter image description here

我希望我的测试用例在单击之前必须设置值用户名和密码

javascript node.js selenium-webdriver automated-tests webdriver
1个回答
0
投票

由于每个函数都会返回 Promise,因此您需要

await
才能调用下一个函数。这使得函数链变得非常麻烦:

const loginPageInstance = new loginPage();
await (
  await (
    await loginPageInstance.inputUsername(loginData.correctCredentials.username)
  ).inputPassword(loginData.correctCredentials.password)
).clickOnLoginBtn();

由于承诺解析为与您开始时相同的实例,因此我建议这样做:

await loginPageInstance.inputUsername(loginData.correctCredentials.username)
await loginPageInstance.inputPassword(loginData.correctCredentials.password)
await loginPageInstance.clickOnLoginBtn();
© www.soinside.com 2019 - 2024. All rights reserved.