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