繁体   English   中英

Visual Studio 代码不会自动完成我的 javascript 方法

[英]Visual studio code not autocompleting my javascript methods

我正在使用 Visual Studio Code、webdriverIO 和 javascript/nodeJS 为网上商店编写自动化测试

一切正常,但我似乎无法让 vs 代码自动完成我的方法(我使用的是页面对象模型,在测试中调用包含方法的页面对象)。

这是我的登录页面对象,带有登录用户的方法(只是一个示例,实际页面对象包含更多方法):

class LoginPage{

    login(username, password) {
        browser.setValue('#ShopLoginForm_Login', username)
        browser.setValue('#ShopLoginForm_Password', password)
        browser.click('button=Login')
  }
}

module.exports = { LoginPage };

这就是我在测试文件中调用它的方式:

describe('login test', function() {

    const LoginPage = require('../../pages/loginPage').LoginPage;
    loginPage = new LoginPage
    const Menu = require('../../pages/menu').Menu;
    menu = new Menu

    it('should be able to login with valid credentials', function () {
        browser.url(url)
        menu.gotoLoginPage()
        loginPage.login(username, password)
    });
});

每次我想在测试中调用一个方法时,它都不会自动完成方法名称,迫使我把它写完整,导致许多不必要的拼写错误。 其他类型的方法,如 webdriverIO browser.click,自动完成就好了。

我在 webstorm 中尝试了相同的代码,并且自动完成确实有效。

有谁知道我可以做些什么来让 VS 代码自动完成我的方法?

可惜没有人能够回答。 我最终自己找到了答案。 我会在这里发布以供参考

在我的进口:

const LoginPage = require('../../pages/loginPage').LoginPage;
loginPage = new LoginPage

我忘记声明该类的新实例。 正确的方法应该是;

const LoginPage = require('../../pages/loginPage').LoginPage;
var loginPage = new LoginPage

另一种方法是使我的方法静态,这样就不需要完全实例化类

我努力在带有 webdriverio 的 vscode 中使用自动建议。

这个链接帮助了我。 https://webdriver.io/docs/autocompletion.html https://webdriver.io/docs/pageobjects.html

你的回答是对的。 实例化页面。 在官方文档中,他们使用“new”导出类

export default new LoginPage()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM