mercredi 7 octobre 2020

Cucumber for Dart won't create/link step definitions in Flutter app

I have a Flutter app where I want to create automated test cases. When I created first feature file like this

    Feature: LoginFeature
  As I tester I want to test login page features


  Scenario Outline:
    Given I log in as "<Username>" with "<Password>"
    #Then I get the error message "Message"

  Examples:
    | Case | Username      | Password  | Message    |
    | 1    | abcd@efgh.com | user1pass | lsijadklams|

I created a step definition manually and it looks like this

import 'package:flutter_gherkin/flutter_gherkin.dart';
import 'package:gherkin/gherkin.dart';

import '../page_objects/login_page.dart';

StepDefinitionGeneric GivenILoginAsWith() {
  return given2<String, String, FlutterWorld>(
    RegExp(r'I log in as {string} with {string}'),
        (email, pass, context) async {
          LoginPage loginPage = new LoginPage(context.world.driver);
          loginPage.setEmail(email);
          loginPage.setPassword(pass);
          loginPage.tapOnLogin();
    },
  );
}

Where LoginPage is a class where I define all page objects.

But when I navigate to feature file I get this message

enter image description here

And after Selecting as a Quick fix "Create a step definition" and selecting particular document where it should be imported I get this error in Stacktrace

java.lang.RuntimeException: Ogurets missing! at cd.connect.idea.plugins.cucumber.dart.steps.BaseDartStepDefinitionCreator.createStepDefinitionContainer(BaseDartStepDefinitionCreator.java:56) at org.jetbrains.plugins.cucumber.steps.CucumberStepsIndex.createStepDefinitionFile(CucumberStepsIndex.java:72) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.lambda$null$0(CucumberCreateStepFixBase.java:151) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:212) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.lambda$createStepDefinitionFile$1(CucumberCreateStepFixBase.java:145) at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$5(WriteCommandAction.java:361) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl$1.run(WriteCommandAction.java:124) at com.intellij.openapi.application.RunResult.run(RunResult.java:35) at com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:263) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1055) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:262) at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:319) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:188) at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:321) at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:262) at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:244) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:126) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:361) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:353) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.createStepDefinitionFile(CucumberCreateStepFixBase.java:144) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.createFileOrStepDefinition(CucumberCreateStepFixBase.java:169) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateAllStepsFix.createStepOrSteps(CucumberCreateAllStepsFix.java:49) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase$1.lambda$onChosen$0(CucumberCreateStepFixBase.java:100) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:195) at com.intellij.ui.popup.AbstractPopup.lambda$dispose$13(AbstractPopup.java:1416) at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:3082) at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:160) at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:112) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:179) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:58) at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1412) at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:160) at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:306) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:48) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:44) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:136) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:105) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:214) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:105) at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:162) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:129) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:125) at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:263) at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:442) at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:395) at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:341) at com.intellij.ui.popup.list.ListPopupImpl$MyMouseListener.mouseReleased(ListPopupImpl.java:501) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6550) at javax.swing.JComponent.processMouseEvent(JComponent.java:3325) at com.intellij.ui.popup.list.ListPopupImpl$MyList.processMouseEvent(ListPopupImpl.java:555) at java.awt.Component.processEvent(Component.java:6315) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4899) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:739) at java.awt.EventQueue$4.run(EventQueue.java:737) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:736) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:757) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:702) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:375) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

PS: I am using flutter_gherkin, gherkin and Ogurets - Cucumber for Dart.

Am I doing something wrong?

Thanks

Aucun commentaire:

Enregistrer un commentaire