Protractor Cucumber无法从数据表中分离两个不同的字符串

Protractor Cucumber无法从数据表中分离两个不同的字符串,protractor,cucumberjs,Protractor,Cucumberjs,说明:登录窗口包含3个主要对象“用户名”(文本框)、“密码”(文本框)和“登录”(按钮) 观察:运行测试时,在用户名文本框中输入testtest(即在同一编辑框中输入密码值) 你能帮我解决这个问题吗?因为它破坏了基本的功能,是我自动化的拦路虎 功能文件: @login Feature: Login Scenario Outline: Login Given I launch url Then I enter <username> Then I

说明:登录窗口包含3个主要对象“用户名”(文本框)、“密码”(文本框)和“登录”(按钮)

观察:运行测试时,在用户名文本框中输入testtest(即在同一编辑框中输入密码值)

你能帮我解决这个问题吗?因为它破坏了基本的功能,是我自动化的拦路虎

功能文件:

    @login
Feature: Login
    Scenario Outline: Login
    Given I launch url 
    Then I enter <username>
    Then I enter password <password>
    Then I click on login button
    Then I verify login screen
    Then I click on logOut
    Examples: 
     | username | password   |
     | test           | test        | 

问题显然来自您的代码。首先,请检查函数
enterUserName()
enterPassword
中是否使用了相同的元素变量

第二,检查查找用户名和密码的定位器在页面上找不到相同的元素

第三,代码中有一个问题:
然后(/^I输入密码(password)$/,函数(password){


它应该是
然后(/^I输入密码(.*)$/,函数(密码){

你指的
LoginPage();
函数是什么?请给出登录窗口的HTML代码、
enterUserName
的代码和
enterPassword
,用户名和密码的定位器。嘿,谢谢你强调我愚蠢的错误:(您的第三点确实将我的问题从非工作状态更改为工作状态
    Given(/^I launch webapp url$/, function () {
    return browser.get('https://example.com');
    });
Then(/^I enter (.*)$/, function (username) {
        const Login = new loginPage();
        return Login.enterUserName(username);
    });
Then(/^I enter password (password)$/, function (password) {
        const Login = new loginPage();
        return Login.enterPassword(password);
        console.log('pass');
    });