初学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. 经过我尝试,文件下载测试可能无法找到正确的输出~
分享到:
相关推荐
在EPAM这个项目中,很可能已经包含了使用Cucumber构建的自动化测试案例,覆盖了APP、WEB和API的多个层面。通过深入理解和实践这些知识,可以构建出高效、稳定的自动化测试框架,确保产品的质量。
然后,Jest-Cucumber-Fusion允许您将这些Cucumber测试链接到javascript Cucumber功能步骤。 添加Fusion调用后,将自动处理“要素”定义和“步骤”定义之间的链接,并且在后台构建了开玩笑Cucumber的必要支架。 现在...
Cucumber以其易读性著称,因为它允许用自然语言编写测试场景,使得非技术人员也能理解测试目标。 首先,Cucumber是基于Gherkin语法的,这是一种结构化的自然语言,用于描述软件的功能。它的基本结构包括Feature文件...
Cucumber是一款强大的自动化测试工具,支持多种编程语言,如JAVA、JavaScript、Ruby、C++、Lua、Android、Kotlin、C#/F#、PHP、Python、Go、Groovy、Scala等。对于JAVA、JS、Ruby,其源代码存储在cucumber官方仓库中...
Cucumber测试基于Ruby编程语言,但通过使用各种语言绑定(如Java、Python、JavaScript等),它可以跨多个平台和项目工作。Cucumber测试文档通常由以下几部分组成: 1. **场景(Scenarios)**:这是测试用例的具体...
Cucumber测试文件通常以`.feature`为扩展名,它们包含一系列的背景(Background)、场景(Scenario)和步骤定义(Step Definitions)。 在Java环境中,Cucumber与JUnit或TestNG结合使用,提供测试框架支持。为了...
Cucumber-mink是Cucumber.js的一个扩展,它将Cucumber与Mink库集成,提供了对Selenium WebDriver和其他浏览器抽象层的简便支持,从而让Web应用程序的端到端测试变得更加简单、直观。 ### 步骤字典 步骤字典是...
Cucumber通过Gherkin语法,让非技术人员也能理解测试用例,增加了团队间的沟通效率。在计算器测试中,我们可以定义如“当用户输入两个数字并点击加号,结果应显示两数之和”这样的场景,Cucumber会将这些场景转换为...
1. **测试脚本**:使用Cucumber语法编写的测试场景和步骤定义,可能以`.feature`和`.js`(或者`.ts`)文件形式存在。 2. **配置文件**:如`testcafe.config.js`,用于配置Testcafe的运行参数,如浏览器选择、报告...
Gherkin语句通常称为特性文件,它们描述了用户与系统交互的场景,而Cucumber则将这些描述转换为可执行的测试。Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 ...
总的来说,这个 cucumberjs-demo 项目提供了一个很好的学习资源,帮助开发者理解如何使用 Cucumber.js 进行 BDD 测试,并实践 JavaScript 编程中的斐波那契算法。通过这种方式,你可以提高代码质量,确保功能正确性...
开发者可以使用Cypress的插件如`cypress-cucumber-preprocessor`,将Cucumber的.feature文件与Cypress的测试命令链接起来,从而在Cypress中运行Cucumber测试。 【应用场景】 这种组合特别适用于大型项目,尤其是...
它不仅关注Cucumber的基本概念,还可能涵盖了与JavaScript相关的实践应用,因为标签中提到了“formacio JavaScript”,这暗示了课程可能包括使用JavaScript编写Cucumber测试脚本。 在课程描述中,“dddd jjjj”可能...
Cucumber支持多种编程语言,包括JavaScript,这使得它在Web开发领域广泛应用。 在JavaScript环境下,Cucumber可以与Node.js配合使用,进行端到端的测试。使用Cucumber进行JavaScript测试,你需要安装`cucumber-js`...
Cucumber 是一种BDD(行为驱动开发)工具,它使用自然语言语法编写测试场景和步骤定义,使得非技术人员也能理解测试用例。它的核心是Gherkin语法,这是一种业务领域特定的语言,用于编写可执行的规格文档。 ...
【cucumber-step-generator】是一款专为Atom编辑器设计的插件,主要用于自动化生成Cucumber测试框架的步骤定义文件。这款工具极大地提高了开发人员编写BDD(行为驱动开发)测试用例的效率,尤其是在处理Cucumber的....
Cucumber支持多种编程语言,包括JavaScript,这使得它能够与WebdriverIO无缝集成。 在"webdriverio-cucumber-automation"项目中,我们可能看到以下关键组件和概念: 1. **配置文件**:项目可能包含一个`wdio.conf....
Cucumber支持多种编程语言,包括JavaScript。在JavaScript环境中,我们可以使用`@cucumber/cucumber`库来编写和运行测试。首先,需要安装必要的依赖包,如`cucumber`、`webdriverio`(用于浏览器自动化)等。然后,...
- `cypress/integration` - 包含Cucumber测试场景(`.feature`文件)。 - `cypress/support` - 存放Cucumber步骤定义(`.step.js`文件),这些定义对应于Gherkin语法中的步骤。 - `package.json` - 项目的配置文件,...
总的来说,Cucumber测试为JavaScript项目提供了一种强大且易于理解的自动化测试解决方案,促进了业务需求和代码实现之间的沟通,确保了软件质量并降低了维护成本。通过学习和应用Cucumber,开发团队可以更高效地协作...