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

时间:2017-09-24 14:10:28

标签: angularjs typescript selenium-webdriver protractor e2e-testing

config.ts

[
 {
 "UserName": "test@cda.en",
 "Password": "test"
 }
]

片段protractor.conf.js

exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],

方法登录

login() { 
 element(by.name('username')).sendKeys(browser.params[0].UserName);
 element(by.name('password')).sendKeys(browser.params[0].Password);
}

在日志中我得到:  失败:无法读取未定义的属性“UserName”

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

您想要发送全局参数。 然后调用方法

 element(by.name('username')).sendKeys(browser.params[0].UserName);
    exports.config = {
        // ...

        params: {
            UserName: 'test'
        }

        // ...
    };

答案 1 :(得分:0)

我编辑了我的config.ts文件,但我总是得到:失败:无法读取属性' UserName'未定义的

也许文件应该在另一个地方?

我的config.ts

exports.config = {
 params: {
  UserName: 'test@cda.en',
  Password: 'test'
 }
};

我的app.po.ts

login() {
 element(by.name('username')).sendKeys(browser.params[0].UserName); 
 element(by.name('password')).sendKeys(browser.params[0].Password);
}