[需要登录的Web应用程序的Bdd方案

问题描述 投票:0回答:2

因此,对于行为驱动测试,我知道一个已知规则是确保场景彼此不依赖,这听起来不错并且很有意义,但是我不了解它应该如何用于您需要签名的Web应用程序入。当前,我有一种方法可以在每个使用backgroud的场景之前设置驱动程序,该方法也可以登录用户,这很好。但是,当我获得数百个测试并且登录后其中95%以上将要测试功能时,我真的需要针对这些情况中的每一个单独登录吗?似乎效率不高?

这里是一个例子,假设我有100多个类似场景测试非常简单的功能,但是要求用户登录:

Feature: Chat Functions

Background:
Given user is logged in

@tag
Scenario: MuteButton
    Given user is in a active chat
    When the mute button is pressed
    Then they will not receive any notifications from this chat

@tag
Scenario: FavoriteButton
    Given user is in a active chat
    When the favorite button is pressed
    Then the chat will appear under the user's favorite list

理想情况下,我只希望它先登录,然后运行数百种需要登录的方案,但是从我在该主题上在线阅读的内容看来,这样做是一种不好的方法?处理这种情况的正确方法是什么?因为场景本身在很多时候都可能只需要1到2秒钟即可运行,而登录则需要10秒钟,这将大大减慢整个套件的运行时间。

bdd specflow gherkin
2个回答
0
投票

除了登录屏幕外,您可能需要“绕过”其他屏幕,例如“欢迎”,“设置您的详细信息”,“添加首次约会(所有取决于所测试的应用程序)。


0
投票

您可以使用before功能挂钩来处理用户登录。这样可以将每个功能文件的登录次数减少一次。我提醒您不要一次登录,因为将来的方案或功能可能需要具有不同权限的其他用户。

© www.soinside.com 2019 - 2024. All rights reserved.