无法使用数据 Table 黄瓜,
Unable to use Data Table Cucumber,
我在登录场景中使用 Cucumber Selenium 和数据 Table。这是我的场景:
Scenario Outline: User login
Given the user is on Login Page
And the users enter "<username>" and "<password>"
Examples:
| username| password|
| User_1 | passw123|
| User_2 | passw123|
第一个用户应该t log out because I
m 测试登录用户的限制。
例如:
1.第一个用户登录并停留在应用程序中
预期结果:用户成功登录
2.第二个用户尝试登录
预期结果:由于限制,用户无法登录
但是当使用第二个凭据时,登录页面打不开,页面只是刷新并显示第一个登录用户的主页(User_1,passw123)。我有断言错误:
Caused by: java.lang.AssertionError: (after 5000 ms)
Expected: "Login Page"
but: was "Home Page"
如何处理?
谢谢!
您在第一次测试后退出了吗?如果您一直打开浏览器,最后需要注销,这样您就会回到登录页面。否则,您可能会从登录页面重定向到主页,因为有一个会话处于活动状态。
您绝对不应该将场景大纲用于此类目的。
您可以做的是:
创建一个测试并将其描述为:
Open login page with new browser
And the users enter "User1" and "password1"
Open login page with new browser
And the users enter "User2" and "password2"
在步骤 Open login page with new browser
中,您应该创建新的 webdriver 实例并将其设置为所有其他步骤的主要驱动程序。
但在我看来,使用 Selenium 来测试此类身份验证逻辑是错误的想法,因为您没有测试任何 UI 行为,您测试的只是服务器端逻辑。因此,使用 Rest-assured 并通过 http 请求测试该逻辑会很方便。
我在登录场景中使用 Cucumber Selenium 和数据 Table。这是我的场景:
Scenario Outline: User login
Given the user is on Login Page
And the users enter "<username>" and "<password>"
Examples:
| username| password|
| User_1 | passw123|
| User_2 | passw123|
t log out because I
m 测试登录用户的限制。
例如:
1.第一个用户登录并停留在应用程序中
预期结果:用户成功登录
2.第二个用户尝试登录
预期结果:由于限制,用户无法登录
但是当使用第二个凭据时,登录页面打不开,页面只是刷新并显示第一个登录用户的主页(User_1,passw123)。我有断言错误:
Caused by: java.lang.AssertionError: (after 5000 ms)
Expected: "Login Page"
but: was "Home Page"
如何处理? 谢谢!
您在第一次测试后退出了吗?如果您一直打开浏览器,最后需要注销,这样您就会回到登录页面。否则,您可能会从登录页面重定向到主页,因为有一个会话处于活动状态。
您绝对不应该将场景大纲用于此类目的。
您可以做的是:
创建一个测试并将其描述为:
Open login page with new browser
And the users enter "User1" and "password1"
Open login page with new browser
And the users enter "User2" and "password2"
在步骤 Open login page with new browser
中,您应该创建新的 webdriver 实例并将其设置为所有其他步骤的主要驱动程序。
但在我看来,使用 Selenium 来测试此类身份验证逻辑是错误的想法,因为您没有测试任何 UI 行为,您测试的只是服务器端逻辑。因此,使用 Rest-assured 并通过 http 请求测试该逻辑会很方便。