任何人都可以帮我找到以下用例的解决方案:
目前我正在使用Cucumber开发Selenium Automation,我有以下问题。
我需要在Web应用程序中自动化场景。
CanExecute
在这里,我需要看到9次为每个用户运行相同的场景直到(选项3)。
我的意思是当Arun登录时他应该结账并选择第一个选项(EG:他下订单没有输入描述)然后Arun应该再次登录并且应该结账并选择选项二(这次他输入描述并下订单)然后再次登录为选择选项3(EG:输入说明并选择一些复选框并下订单)。
这也需要为Ajay和Ashok重复。我如何在Cucumber中实现这一目标。我可以将多个示例用于单个场景大纲。
或者是否可以在后台使用示例。
这是我需要自动化并尝试使用Cucumber中的各种选项的重要用例之一。但没有任何作用。
先谢谢
答案 0 :(得分:1)
您可以编写方案大纲,如下所示。它可能有用。
Scenario Outline: Login as <user> and Purchase item with the option <option>
When I login as <user>
And I enter the description <description>
And I checkout the item using the option <option>
Examples:
|user|description|option|
|Arun |Some Desc|One |
|Arun | |One |
|Arun |Some Desc|two |
|Ajay | |three|
|Ajay |Some Desc|two |
|Ajay |Some Desc|three|
|Ashok| |One |
|Ashok|Some Desc|two |
|Ashok|Some Desc|three|
这将运行具有不同用户,描述和选项的所有步骤。
答案 1 :(得分:0)
一个想法是这样的:
pd.read_csv(r'C:\Users\user\Desktop\Workbook1.csv')
这将为每个用户运行每个选项。我不知道您的代码看起来如何,但使用上述格式应该很容易适应。查看documentation以及how to write good Gherkin
答案 2 :(得分:0)
您的步骤和场景大纲似乎做得太多了。
如果用户具有明显不同的权限,或者对于3个用户中的每个用户进行结帐更改的方法,那么当然,测试可能需要9个方案,否则,您可能只需要编写3个方案来测试这个。
我写这个测试的方式:
Background:
Given I am logged in as "Arun"
And I have gone to the checkout after selecting various products
When I purchase the items
Scenario Outline: Checkout descriptions
Then I should be able to checkout <with?> a description
Examples:
| with? |
| with |
| without |
Scenario: Checkout with description and accept the terms of service*
Then I should be able to checkout with a description
And I should be able to accept the terms of service*
*替换&#34;接受服务条款&#34;具有选中复选框背后的含义。
Gherkin可以弥合开发团队和业务之间的对话差距,因此确保非技术业务人员可以理解所使用的语言是必不可少的。将实现细节留在特征文件之外,因为它只是描述系统的行为方式。
修改强>
如果在其他2个用户中运行测试时有实际商业利益(并且它不仅仅是为了设置测试数据而运行,应该在之前的挂钩中完成),那么也许你需要做更多这样的事情:
Scenario Outline: Checkout descriptions
Given I am logged in as "<user>"
And I have gone to the checkout after selecting various products
When I purchase the items
Then I should be able to checkout <with?> a description
Examples:
| user | with? |
| Arun | with |
| Ajay | with |
| Ashok | with |
| Arun | without |
| Ajay | without |
| Ashok | without |
Scenario Outline: Checkout with description and accept the terms of service*
Given I am logged in as "<user>"
And I have gone to the checkout after selecting various products
When I purchase the items
Then I should be able to checkout with a description
And I should be able to accept the terms of service*
Examples:
| user |
| Arun |
| Ajay |
| Ashok |