【发布时间】:2018-01-19 02:52:55
【问题描述】:
我在登录场景中使用 Cucumber Selenium 和数据表。这是我的场景:
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 Im 测试登录用户的限制。
例如:
1.第一个用户登录并停留在一个应用程序中
预期结果:用户成功登录
2.第二个用户尝试登录
预期结果:用户因限制无法登录
但是当使用第二个凭据时,登录页面没有打开,页面刚刚刷新并显示了第一个登录用户的主页(User_1,passw123)。我有断言错误:
Caused by: java.lang.AssertionError: (after 5000 ms)
Expected: "Login Page"
but: was "Home Page"
如何处理? 谢谢!
【问题讨论】:
-
在运行第二个场景之前,您需要添加一个注销步骤或在钩子之后执行终止第一个用户的会话。
-
无法添加此步骤,因为测试是第一个用户没有注销。
-
您需要使用挂钩或后台步骤来确保在执行登录之前没有用户登录。步骤“然后用户成功登录”仍然有效,因为注销用户的操作是在场景上下文之外执行的。
-
@N.Hol 正如你所说,测试不是注销第一个用户,那么预期的行为应该是什么?我认为场景大纲是测试这种情况的正确方法
-
你说得对,我不清楚我的问题的描述。现在,我的问题更新了。也许我应该从新的浏览器开始
标签: java selenium cucumber cucumber-java cucumber-junit