我有一个功能文件,其中有两种情况:一种用于登录网站,另一种在登录页面上执行某些操作。 如果仅在一种情况下安排功能文件,那么它可以正常工作,尤其是下面给出的第一个功能文件中突出显示的行。 但是,如果将相同的功能文件安排为具有两种情况,则即使在页面目标代码中,我也给出了相同的问题,这会导致Web定位器问题 一行代码来定位Web元素。
第一种情况(带有“大纲”)只是登录到网站。没有存储对象或任何东西。
第二种情况是尝试验证页面上的某些数据,例如是否填充了具有用户ID和日期的行。
问题出在第二个功能文件中,我在其中引入了第二个方案关键字,因为它是正确的 另一个单独的场景。
注意:-用于在两个位置(保持为SEPARATE PROJECTS)定位Web元素的代码相同。
请帮助我确定问题所在。让我发疯。
######### ------此功能文件运行FINE .-----markers
### ---此功能文件找不到Web元素(登录后的第一个)-#
Feature: Data Extract List Page
In order to test DataHub UI,
I want to specify the features of Extract History Page
**Scenario Outline:** Navigate to Extract History page from the List page
Given the User opens the PRAMA Datahub website
When the User types in userId "<uId>" and pacman passcode "
<pacman_passcode>"
And the User clicks on submit button
Then the User lands on page "<title>"
When status column-cell has status "Ready" value
And last run column-cell has userid and date populated (NOTE:working
fine)
And the User clicks on last run column cell of first extract record
Then the User is navigated to the Execution History
"execution_history" page
When the execution history page shows "completed" status
And the User clicks on extract record header
Then verify number of records greater than zero
And file name is a valid string
Examples:
| uId | pacman_passcode . | title |
| xxx | kT7&)cP^jhK&xze | Datahub |
更新: 只是为了踢球,当我注释掉可疑的“场景”关键字和 @给出步骤,实际上没有任何新操作,找到了Web定位器,没有问题! 这里正在发生什么有趣的事情? 第一次登录时不会存储任何数据,什么也没有。 只需登录,就要求提供Web定位器。
**Feature:** Data Extract List Page
In order to test DataHub UI,
I want to specify the features of Extract History Page
**Scenario:** User logs in to prama datahub website
Given the User opens the PRAMA Datahub website
When the User types in userId "xxxxx" and pacman passcode
"kT7&)cP^jhK&"
And the User clicks submit button
Then the User lands on page "Datahub"
**Scenario:**Navigate to Extract History page from the Extract List page
Given User logs in to prama datahub website
When status column-cell has status "Ready" value
And last run column-cell has userid and date populated(NOTE: throwing
web element locator exception)
And the User clicks on last run column cell of first extract record
Then the User is navigated to the Execution History
"execution_history" page
答案 0 :(得分:1)
此问题已解决。问题是由于未意识到Cucumber将每种情况都视为全新的浏览器会话*
(对我来说,这很奇怪,因为必须具有多种场景的功能 关于测试单个故事的知识。那你为什么要 销毁并重新启动,然后一次又一次登录到浏览器?
*)。但是从Serenity,我有一个配置,可以使浏览器会话在功能(serenity.restart.browser.for.each=feature)
的整个生命周期中保持活动状态。现在,在调整每个方案的初始打开条件之后,一切都可以正常工作。 –