使用angular Proactor获取用户和密码的innertext

使用angular Proactor获取用户和密码的innertext,angular,selenium-webdriver,css-selectors,protractor,karma-jasmine,Angular,Selenium Webdriver,Css Selectors,Protractor,Karma Jasmine,我是角量角器测试的新手。我已经创建了一个小的自动测试来获取用户名和密码。在html类中,我创建了一个id,以便于从测试类中识别属性。因此,用户名和密码是从examaple凭据的模型类生成的。用户名和凭据的登录名。密码的密码。我想让用户名演示和密码演示通过测试。但是我没有从这个代码中得到值 这是我的密码 HTML类 <mat-form-field> <input id="t-username" matInput [(ngModel)]="credentials.login

我是角量角器测试的新手。我已经创建了一个小的自动测试来获取用户名和密码。在html类中,我创建了一个id,以便于从测试类中识别属性。因此,用户名和密码是从examaple凭据的模型类生成的。用户名和凭据的登录名。密码的密码。我想让用户名演示和密码演示通过测试。但是我没有从这个代码中得到值

这是我的密码

HTML类

<mat-form-field>
    <input id="t-username" matInput [(ngModel)]="credentials.login" name="login" placeholder="{{ 'username'}}">
</mat-form-field>
<mat-form-field class="md-block">
    <input id="t-password" matInput type="password" [(ngModel)]="credentials.password" name="password" placeholder="{{ 'password'}}" maxlength="100">
</mat-form-field>

如果代码中存在一些问题,请尝试以下方法:

it('Login failed', async () => {
    //1.
    var usernameField = element(by.id('t-username'));
    await usernameField.sendKeys('demo');
    await expect(usernameField.getAttribute('value')).toBe("demo");

    //2.
    var passwordField = element(by.id('t-password'));
    await passwordField.sendKeys("demo");
    await expect(passwordField.getAttribute('value')).toBe('demo');
});

// disable protractor control flow in conf.js
// protractor conf.js
exports.config = {
   ....
   SELENIUM_PROMISE_MANAGER: false, // it's very important if you use async/wait
}

它是否成功获取用户名?为什么不将密码字段的
.getAttribute('value')
it('Login failed', async () => {
    //1.
    var usernameField = element(by.id('t-username'));
    await usernameField.sendKeys('demo');
    await expect(usernameField.getAttribute('value')).toBe("demo");

    //2.
    var passwordField = element(by.id('t-password'));
    await passwordField.sendKeys("demo");
    await expect(passwordField.getAttribute('value')).toBe('demo');
});

// disable protractor control flow in conf.js
// protractor conf.js
exports.config = {
   ....
   SELENIUM_PROMISE_MANAGER: false, // it's very important if you use async/wait
}