【问题标题】:protractor typescript pageobject property undefined量角器打字稿页面对象属性未定义
【发布时间】:2018-01-16 02:52:43
【问题描述】:

您好,当我在量角器打字稿中使用 POM 和 angular cli“无法读取未定义的属性‘sendUsername’”时,出现以下错误。我是打字稿的新手,请建议我如何解决这个问题。

error

失败:无法读取未定义的属性“sendUsername”

app.e2e-spec.ts

import { PatientInquiryPrototypePage } from './patiq-common.po';
import { LoginAdmin } from './patiq-login.po';

describe('patient-inquiry-prototype App', () => {
let page: PatientInquiryPrototypePage;
let loginAdmin: LoginAdmin;

beforeEach(() => {
page = new PatientInquiryPrototypePage();
});

it('Launch the Test URL', () => {
  page.navigateTo();
});

it('Login as Administrator', () => {

  loginAdmin.sendUsername('PILabAdmin');
  loginAdmin.sendPassword('password$123');
  loginAdmin.openHostSystem();
  loginAdmin.selectHostSystem();
  loginAdmin.openHostRole();
  loginAdmin.selectHostRole();

  });
  });

patiq-login.po.ts

import { browser, by, element, protractor, ExpectedConditions, $, $$ } from 'protractor';

export class LoginAdmin {

sendUsername(Username: string) {
    return element(by.css('[formcontrolname="username"]')).sendKeys(Username);
}

sendPassword(Password: string) {
    return element(by.css('[formcontrolname="password"]')).sendKeys(Password);
}

openHostSystem() {
    return element(by.css('[formcontrolname="hostSystem"]')).click();
}

selectHostSystem() {
    return element(by.css('[class="mat-option"]')).get(0).click();
}

openHostRole() {
    return element(by.css('[formcontrolname="hostRole"]')).click();
}

selectHostRole() {
    return element(by.css('[class="mat-option"]')).get(6).click();
}
}

【问题讨论】:

  • 角度版本?

标签: angular typescript jasmine angular-cli pageobjects


【解决方案1】:

它不采用文件的路径而不是单点。放 double dot 这意味着它会从父节点中选择路径

import { PatientInquiryPrototypePage } from '../patiq-common.po';
import { LoginAdmin } from '../patiq-login.po';

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2018-08-21
    相关资源
    最近更新 更多