我已经设置 SpecFlow 来执行一些 Selenium 测试来测试网站。这一切都很好!
我只是在考虑是否可能对 SpecFlow 功能的结构进行一些优化。
特定功能中的所有场景都应使用相同的登录名。这是我目前使用 [BeforeScenario()] 钩子在 StepDefinition 中硬编码的内容,因为我真的不想用登录信息污染场景。它与测试无关。
但同时,我想删除硬编码部分,并将其移至我的功能中。
我的问题是两部分。
我可以在我的功能描述中指定登录凭据吗?有点像给定的:
Feature: As a user I want to be able to see my ongoing orders, and interact with them. Given I am logged in with username abc and password xyz Scenario: See list of ongoing order Given I place an order When I navigate to MyOrders page Then I can see at least one order in the list
这是好习惯吗?
我的意思是在功能级别上这样做是否有意义。这些场景不依赖于特定的顺序,如果我不需要为每个场景登录,它们会执行得更快。
感谢您的输入。