首页 文章

无法使用数据表黄瓜,

提问于
浏览
0

我在登录场景中使用了Cucumber Selenium和Data 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|

第一个用户不应该对已记录用户的测试限制进行测试 . 例如:1 . 第一个用户登录并留在应用程序中预期结果:用户成功登录2.第二个用户尝试登录预期结果:用户无法登录因为限制

但是当使用第二个凭据时,登录页面未打开,页面刚刷新并显示第一个登录用户的主页(User_1,passw123) . 我有断言错误:

Caused by: java.lang.AssertionError: (after 5000 ms)
Expected: "Login Page"
     but: was "Home Page"

如何处理?谢谢!

2 回答

  • 0

    您绝对不应该将场景大纲用于此类目的 .

    你能做的是:
    创建一个测试并将其描述为:
    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测试这样的auth逻辑是错误的想法,因为你没有测试任何UI行为,所有你测试的都是服务器端逻辑 . 因此,使用Rest-assured并通过http请求测试该逻辑会很方便 .

  • 0

    你第一次测试后退出了吗?如果您打开浏览器,则需要在最后注销,以便返回登录页面 . 否则,您可能会从登录页面重定向到主页,因为会话处于活动状态 .

相关问题