代码之家  ›  专栏  ›  技术社区  ›  Steve Staple

Typescript:函数不是JavaScript到Typescript转换中的函数?

  •  -2
  • Steve Staple  · 技术社区  · 7 年前

    我在运行npm test时遇到这个错误:TypeError:client.page.signinPage不是函数。

    这就是我所说的:

    import * as dotenv from "dotenv";
    
    dotenv.config();
    
    module.exports = {
    'User can sign in'(client: any) {
        const signinPage = client.page.signinPage();
    

    const signinCommands = {  
      signin(email: String, password: String) {
        return this
          .waitForElementVisible('@emailInput')
          .setValue('@emailInput', email)
          .setValue('@passwordInput', password)
          .waitForElementVisible('@signinButton')
          .click('@signinButton')
      }
    };
    
    module.exports = {  
      url: 'https://cjdocs.herokuapp.com/auth/signin',
      commands: [signinCommands],
      elements: {
        emailInput: {
          selector: 'input[type=email]'
        },
        passwordInput: {
          selector: 'input[name=password]'
        },
        signinButton: {
          selector: 'button[type=submit]'
        }
      }
    };
    

    我的页面\对象\路径在nightwatch.json文件中设置。

    整个项目可从以下网址下载: https://github.com/hellfireSteve/nightwatch-typescript-pageobject

    1 回复  |  直到 7 年前
        1
  •  1
  •   Matt McCutchen    7 年前

    我能够复制 client.page.signinPage is not a function 错误。当我换衣服的时候 page_objects_path pages built/pages (因为我假设Nightwatch正在查找JavaScript文件而不是TypeScript文件),这个错误消失了,我得到了一个不同的错误,我认为这是因为我没有正确安装浏览器驱动程序。尝试更改 页面\对象\路径 希望你的测试能奏效。

    推荐文章