`

让Cucumber测试包含Javascript的场景

 
阅读更多

 

初学ROR就像Terra Nova中人类回到了史前新世界一样, Ruby和Rails分别给了我很多惊喜.

 

在RecruitingOnRails Beach项目中也遇到了一些问题, 其中一个对我们BDD阻碍比较大的问题是Cucumber在默认情况下无法运行Javascript, 而我们正好需要通过使用javascript实现在一个表单中点击不同按钮需要将请求Post或Get到特定地址.  我们通过如下几步来使Cucumber支持Javascript

 

1. 首先下载ChromeDriver在http://code.google.com/p/chromedriver/downloads/list

 

2. 在解压缩之后尝试直接运行, 你应该看到类似这样的提示:

Started ChromeDriver

port=9515

version=19.0.1068.0

og=/Users/twer/chromedriver.log

 

3. 按Control+C停止服务, 并且将这个文件拷贝到/usr/local/bin/(需要su or 在cp命令前加sudo)

 

系统环境准备到此结束, 接着我们需要修改rails项目中的一些文件

 

4. 打开features/support/env.rb

在任意位置加入:

 

Capybara.register_driver :chrome do |app|

  Capybara::Selenium::Driver.new(app, :browser => :chrome)

end

 

Capybara.javascript_driver = :chrome

 

5. 在你希望运行js的Scenario上注解@javascript

 

其他的一些注意事项:

 

1. 如果存在confirm弹出窗, 请使用

page.driver.browser.switch_to.alert.accept 相当于点击ok

page.driver.browser.switch_to.alert.dismiss 相当于点击no

 

2. 经过我尝试,文件下载测试可能无法找到正确的输出~

 

分享到:
评论

相关推荐

    自动化测试平台cucumber框架兼容APP,WEB,API

    在EPAM这个项目中,很可能已经包含了使用Cucumber构建的自动化测试案例,覆盖了APP、WEB和API的多个层面。通过深入理解和实践这些知识,可以构建出高效、稳定的自动化测试框架,确保产品的质量。

    jest-cucumber-fusion:以自然的方式编写Cucumber测试,但仍然使它们成为玩笑的一部分(包括覆盖率)

    然后,Jest-Cucumber-Fusion允许您将这些Cucumber测试链接到javascript Cucumber功能步骤。 添加Fusion调用后,将自动处理“要素”定义和“步骤”定义之间的链接,并且在后台构建了开玩笑Cucumber的必要支架。 现在...

    cucumber-automation:这是一个Cucumber自动化测试框架演示

    Cucumber以其易读性著称,因为它允许用自然语言编写测试场景,使得非技术人员也能理解测试目标。 首先,Cucumber是基于Gherkin语法的,这是一种结构化的自然语言,用于描述软件的功能。它的基本结构包括Feature文件...

    cucumber自动化测试官方教程

    Cucumber是一款强大的自动化测试工具,支持多种编程语言,如JAVA、JavaScript、Ruby、C++、Lua、Android、Kotlin、C#/F#、PHP、Python、Go、Groovy、Scala等。对于JAVA、JS、Ruby,其源代码存储在cucumber官方仓库中...

    Cucumber测试

    Cucumber测试基于Ruby编程语言,但通过使用各种语言绑定(如Java、Python、JavaScript等),它可以跨多个平台和项目工作。Cucumber测试文档通常由以下几部分组成: 1. **场景(Scenarios)**:这是测试用例的具体...

    Lab2:实验2Cucumber测试

    Cucumber测试文件通常以`.feature`为扩展名,它们包含一系列的背景(Background)、场景(Scenario)和步骤定义(Step Definitions)。 在Java环境中,Cucumber与JUnit或TestNG结合使用,提供测试框架支持。为了...

    cucumber-mink:使用cucumber.js快速轻松地进行测试

    Cucumber-mink是Cucumber.js的一个扩展,它将Cucumber与Mink库集成,提供了对Selenium WebDriver和其他浏览器抽象层的简便支持,从而让Web应用程序的端到端测试变得更加简单、直观。 ### 步骤字典 步骤字典是...

    计算器端到端测试js:使用Cypress,Testcontainer,Cucumber进行计算器端到端测试

    Cucumber通过Gherkin语法,让非技术人员也能理解测试用例,增加了团队间的沟通效率。在计算器测试中,我们可以定义如“当用户输入两个数字并点击加号,结果应显示两数之和”这样的场景,Cucumber会将这些场景转换为...

    testcafe_cucumber:使用Testcafe和Cucumber集成进行e2e测试的脚本,用于通信和计费团队

    1. **测试脚本**:使用Cucumber语法编写的测试场景和步骤定义,可能以`.feature`和`.js`(或者`.ts`)文件形式存在。 2. **配置文件**:如`testcafe.config.js`,用于配置Testcafe的运行参数,如浏览器选择、报告...

    关于rails 3.1 cucumber-rails 1.2.0

    Gherkin语句通常称为特性文件,它们描述了用户与系统交互的场景,而Cucumber则将这些描述转换为可执行的测试。Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 ...

    cucumberjs-demo:使用 Cucumber.js 规范和测试斐波那契计算器

    总的来说,这个 cucumberjs-demo 项目提供了一个很好的学习资源,帮助开发者理解如何使用 Cucumber.js 进行 BDD 测试,并实践 JavaScript 编程中的斐波那契算法。通过这种方式,你可以提高代码质量,确保功能正确性...

    StudyCypress:柏树+Cucumber+ BDD

    开发者可以使用Cypress的插件如`cypress-cucumber-preprocessor`,将Cucumber的.feature文件与Cypress的测试命令链接起来,从而在Cypress中运行Cucumber测试。 【应用场景】 这种组合特别适用于大型项目,尤其是...

    curs_cucumber:项目介绍

    它不仅关注Cucumber的基本概念,还可能涵盖了与JavaScript相关的实践应用,因为标签中提到了“formacio JavaScript”,这暗示了课程可能包括使用JavaScript编写Cucumber测试脚本。 在课程描述中,“dddd jjjj”可能...

    Cucumber任务

    Cucumber支持多种编程语言,包括JavaScript,这使得它在Web开发领域广泛应用。 在JavaScript环境下,Cucumber可以与Node.js配合使用,进行端到端的测试。使用Cucumber进行JavaScript测试,你需要安装`cucumber-js`...

    Cucumber-Protractor-custom-framework:Cucumber量角器自定义框架的基本实现

    Cucumber 是一种BDD(行为驱动开发)工具,它使用自然语言语法编写测试场景和步骤定义,使得非技术人员也能理解测试用例。它的核心是Gherkin语法,这是一种业务领域特定的语言,用于编写可执行的规格文档。 ...

    cucumber-step-generator:Atom软件包,用于从特征文件生成Cucumber步骤文件

    【cucumber-step-generator】是一款专为Atom编辑器设计的插件,主要用于自动化生成Cucumber测试框架的步骤定义文件。这款工具极大地提高了开发人员编写BDD(行为驱动开发)测试用例的效率,尤其是在处理Cucumber的....

    webdriverio-cucumber-automation:基于WebdriverIO和Cucumber构建的自动化框架的演示

    Cucumber支持多种编程语言,包括JavaScript,这使得它能够与WebdriverIO无缝集成。 在"webdriverio-cucumber-automation"项目中,我们可能看到以下关键组件和概念: 1. **配置文件**:项目可能包含一个`wdio.conf....

    mystore-cucumber:Cucumber中的自动化示例

    Cucumber支持多种编程语言,包括JavaScript。在JavaScript环境中,我们可以使用`@cucumber/cucumber`库来编写和运行测试。首先,需要安装必要的依赖包,如`cucumber`、`webdriverio`(用于浏览器自动化)等。然后,...

    cypress-cucumber-example

    - `cypress/integration` - 包含Cucumber测试场景(`.feature`文件)。 - `cypress/support` - 存放Cucumber步骤定义(`.step.js`文件),这些定义对应于Gherkin语法中的步骤。 - `package.json` - 项目的配置文件,...

    cucumbertest

    总的来说,Cucumber测试为JavaScript项目提供了一种强大且易于理解的自动化测试解决方案,促进了业务需求和代码实现之间的沟通,确保了软件质量并降低了维护成本。通过学习和应用Cucumber,开发团队可以更高效地协作...

Global site tag (gtag.js) - Google Analytics