草庐IT

cucumberjs

全部标签

javascript - CucumberJS - 错误 : Step timed out after 5000 milliseconds at Timer. listOnTimeout (timers.js:92:15)

我是cucumberjs的新手,只是第一次尝试运行一个功能。我已经构建了cucumber-jsgithubpage上的功能.尝试运行时出现此错误:Benjamins-MBP:FeaturesBen$cucumber.jsexample.featureFeature:ExamplefeatureAsauserofcucumber.jsIwanttohavedocumentationoncucumberSothatIcanconcentrateonbuildingawesomeapplicationsScenario:Readingdocumentation#example.feature

javascript - cucumber JS 超时将不起作用

使用protractor-cucumber-framework,我试图在一个When-step中点击一个按钮一百次。但是,这样做会导致超时,默认超时值为5000毫秒。我不想使用以下方法更改此默认设置:varconfig=function(){this.setDefaultTimeout(60*1000);};module.exports=config;这行得通,但我宁愿像这样为该单步设置超时:this.When(/^Iclickonthe"([^"]*)"button$/,{timeout:60*1000},function(text,callback){//Clickthebutto

javascript - 使用 Chai 解决 Protractor 和 Cucumber 中的 promise

最近,我和一位同事对使用Protractor和Chai实现Cucumber步骤定义的“正确”方式存在一些分歧。我们的争论源于对Cucumber上下文中promise解决方案的确切情况的相互缺乏理解。我们正在针对AngularJS应用程序进行测试,因此解决promise和异步行为是不可避免的。我们遇到的最大问题是强制执行同步测试行为并让Cucumber在步骤定义之间等待promise。在某些情况下,我们观察到这样的情况,即Cucumber似乎在Webdriver执行步骤定义之前就直接完成了步骤定义。我们对这个问题的解决方案各不相同......考虑假设场景:Scenario:Whenaus

javascript - 如何在我的功能场景 Cucumber.js 中使用标签?

如何在我的功能场景中使用标签?如何知道调用我函数的场景?实际上我有一种情况:Feature:createmodulefeatureAsaadminIwanttousecreatemodule@createModuleGivenIamloggedas'ADMIN'AndIamon"/admin/create"ThenThe"book_id"fieldshouldbeempty我想在我的函数中使用我的标签@createModule然后:this.Then(/^The"?([^"]*)"?fieldshouldbeempty$/,function(el){if(myModule===@cre

javascript - 将 Cucumber.js 与 Jest 一起使用

我正在使用Jest进行单元测试,并且正在集成Cucumber.js以运行用Gherkin编写的规范。我已经全部设置好并且可以正常工作,但是我遇到了一个问题:如何使用Jest的expect?我可以使用chai,但我希望在单元测试和步骤定义之间保持相同的expect语法(我不希望to.equal在我的步骤定义和toEqual在我的单元测试)。我该怎么做?经过一些挖掘后,Jest似乎依赖于expectnpm包。我可以在我的package.json中明确依赖该包,但我更愿意使用我现有的Jest依赖项。也许这是不可能的,但我希望这是可能的。另一种选择是通过Jest测试运行器以某种方式执行Gher

javascript - 标签 Protractor + Jasmine 运行套件

我正在尝试找出一种方法,以相同的方式,或者更确切地说,以类似的方式使用cucumberJS与protractor的标记选项,但是使用Jasmine,有没有办法标记不同的场景,例如:@smoke、@regression等。然后告诉控制台与那些一起运行?我拒绝使用Cucumber,因为它的支持似乎变得不稳定了!任何帮助将不胜感激! 最佳答案 使用jasmine2,您可以使用正则表达式过滤测试。也许你可以在你的测试中添加@smoke、@regressions之类的东西,然后只通过传递grep标志来运行那些:it('shoulddostuf

javascript - 将 Protractor 与 SystemJS 一起使用的正确方法是什么?

这个问题应该也适用于requirejs。具体情况:ProtractorSystemJS加载ES6BabelJS转译系统模块cucumber.jsChai,chai-as-promised我问的原因是因为我只有几个非常基本的cucumber测试,有时我会收到错误(不一致)涉及超时或等待与页面同步等。其他时候我的测试通过并且没有超时错误.没有大量关于这些问题的权威信息。主要只是一堆SO和github问题。在SystemJS中使用Protractor的正确方法是什么? 最佳答案 这些听起来不像是SystemJS特有的问题。相反,根据我的经

javascript - Cucumber JS 获取当前功能/场景/世界步骤

如何获取当前的功能、场景和世界步数?我试过这种方式,但我只有场景名称和描述:module.exports=function(){/***Beforeeachscenario*/this.Before(function(scenario,callback){console.log(scenario);callback();});};感谢您的帮助。 最佳答案 好的,所以我终于找到了这个解决方案:创建一个在hooks中调用的Context对象。hooks.js文件:varcontext=require(process.cwd()+'/sr

javascript - cucumber-js 和 Chai 如何期望具有给定选择器的元素是否存在于 DOM 中

我对cucumberjs有疑问。我找不到办法确保具有给定选择器的那个元素被呈现到DOM中。我在用着cucumberjs与Chai。https://github.com/cucumber/cucumber-jsisPresent返回对象——不管元素是否存在。所以问题是如何检查DOM中是否存在元素。我将编辑问题以分享一个经验教训。我阅读文档还要感谢NathanThompson。存在()返回一个promise,该promise将解决该元素是否存在于页面上。http://angular.github.io/protractor/#/api?view=Protractor.prototype.i