当前位置: 首页 > 知识库问答 >
问题:

无法在cucumber中单独实现两个步骤定义

宋鸿云
2023-03-14

我正在用cucumber和ruby实现自动化。我的情况如下。

Given I'm on home page
When i click on links
Then it should redirect to corresponding pages.

为了实现,我在第二步中进行了迭代以单击所有链接。

为此,我每次都必须回到主页,然后进行验证。我是否必须每次重复第二步实现,或者我可以跳过第三步并在第二步中实现所有内容?

共有2个答案

鲜于承基
2023-03-14

我喜欢一种稍微不那么必要的方法:

Given I am on home page
When I collect a list of links and the text from the header menu
Then visiting each link should return a page where the title matches the link text

或者它与alt文本匹配,或者您匹配URL或类似的东西。我认为上面显示的命令式方法使得添加到页面的新项目不会被检查,任何脱落的东西都会被检查。

如果您想使其更具必要性并有一个列表,我将验证是否只显示这些链接,并且如果意外显示新链接,它将抛出一个错误。

孔砚
2023-03-14

您可以在表格中执行以下操作:

  Background: Member should open homepage
      Given member goes to home page

  @javascript
  Scenario: Member should go to correct url by clicking links in head menu
     Then member should ensure that links in the table go to correct url
        | Spor Giyim          | /spor-giyim            |
        | Kadın               | /kadin                 |
        | Erkek               | /erkek                 |
        | Ayakkabı & Çanta    | /ayakkabi-canta        |

Ruby部分应该是这样的:

When(/^member should ensure that links in the table go to correct url$/) do |table|
    # table is a Cucumber::Core::Ast::DataTable
    links = table.raw

    links.each do |line|
        link       = line[0]
        target_url = line[1]

        click_link(link)

        url = page.current_url
        expect(url).to include target_url 
    end
end
 类似资料:
  • TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件

  • 我对Cucumber JVM无法获取步骤定义有问题。我在Runner文件中确实有@CucumberOptions。我的功能文件也有@SmokeTest标签。这个问题仍然存在。请帮助!我已经尝试解决这个问题几天了。 Maven 和 Java 版本: Apache Maven 3.0.4Java版本:1.6.0_65,供应商:Apple Inc. 项目结构: 演示-- 运行器文件: 包com.smok

  • 我有一个cucumber框架,它满足API和UI功能文件的需求。所以,我有两个特性文件,一个用于API,另一个用于UI。类似地,我在步骤定义文件夹中创建了两个类,一个用于UI,另一个用于API。结构如下所示: 文件列表 --API的功能文件 --UI的功能文件 分步定义 --斯特普德法皮 --斯特普德菲 测试者 --UITestRunner ############################

  • 我今天将我的serenity和cucumber测试升级到2.6.0 en cucumber 6版本。只需要更改大量程序包,并且功能文件的步骤不再链接到步骤定义。如果我的cucumberrunner的设置 但是,如果我在功能文件中查看intellij,您将无法再单击步骤以转到定义。当我运行功能文件时,我会得到以下异常: 我不确定是什么地方出了问题,因为相同的代码适用于以前的版本

  • 自从我升级到最新的社区版IntelliJ 15.0.3以来,每当我使用alt-enter从功能定义文件自动生成步骤定义时,它都会以驼峰大小写而不是带下划线的常规样式创建方法。 例如,它过去是这样生成的 但现在它产生了通常的camelCase惯例: 有没有办法把这个设置改回第一种样式? 谢谢

  • 在testCafe,http://devexpress.github.io/testcafe/documentation/test-api/authentication/http-authentication.html,我试图测试一个网站,首先我必须通过http。提到的功能是夹具。我应该如何处理cucumber步骤定义内的http?一个很好的例子。 我的stepdef类似于 给定('页面已加载',