我正在使用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
另一种方法是使我的方法静态,从而完全不需要实例化该类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句