Search code examples
phpseleniumwebdriverbehatmink

Behat Mink webdriver session is destroyed after every feature in a suite


I am trying to automate sugarcrm functionality with behat BDD and Mink with selenium webdriver for php. I have properly installed both of them and able to run behat and mink together. for example checking login on sugarcrm as one feature.

Now the problem is when i create two feature file say login.feature and setup.feature. Behat successfully automate login process in browser but as soon as it switches to setup.feature which require login session to be maintained from previous feature, it destroy session and comes back to login window. therefore, second feature test is always failing.

How i can maintain session for every feature in my feature suite?

Just to tell you guys that i have also tried them in a single feature file as different scenario but with no luck as the same thing is haapening

Please Help me if anyone knows about it.


Solution

  • Features and scenarios should be independent. It is THE expected behaviour that if you do something in one scenario, the state is not carried to the next one.

    I'm not sure what you're trying to achieve but you definitely doing something wrong.

    Edit:

    If you need to log user in before every scenario simply write a meta step which will perform all the necessary operations:

    Given I am logged in
    

    You could use step execution chaining or simply call Mink directly.

    If every scenario in your feature file requires logging in you can use background:

    Background:
        Given I am logged in
    
    Scenario: Listing users
        Given ...
    
    Scenario: Removing a user
        Given ...