Search code examples
phpvirtual-machineacceptance-testingminkcodeception

unable to run codeception in virtual machine -Mink could not be found and loaded


I installed a vm ubuntu guest OS.

My app is running from the browser in my host OS at the url

http://abc.localhost:8888

I type php codecept.phar run in the guest OS terminal.

I get the following error:

[Codeception\Exception\Configuration]  
  Mink could not be found and loaded  

My acceptance.yml says

# Codeception Test Suite Configuration

# suite for acceptance tests.
# perform tests in browser using the Selenium-like tools.
# powered by Mink (http://mink.behat.org).
# (tip: that's what your customer will see).
# (tip: test your ajax and javascript by one of Mink drivers).

# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.

class_name: WebGuy
modules:
    enabled:
        - PhpBrowser
        - WebHelper
        - Mink
    config:
        PhpBrowser:
           url: 'http://abc.localhost:8888'

I have tried with and without the 8888 in the acceptance.suite.yml. I get the same error.

Please advise.

Caveat: I have also cross-posted the same ticket in https://github.com/Codeception/Codeception/issues/388. Will update this question should I get answer from there.


Solution

    1. SSH into guest VM.
    2. sudo nano /etc/hosts
    3. Add in the following 127.0.0.1 abc.localhost
    4. Ensure acceptance.yml is correct.
    # Codeception Test Suite Configuration
    
    # suite for acceptance tests.
    # perform tests in browser using the Selenium-like tools.
    # powered by Mink (http://mink.behat.org).
    # (tip: that's what your customer will see).
    # (tip: test your ajax and javascript by one of Mink drivers).
    
    # RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
    
    class_name: WebGuy
    modules:
        enabled:
            - PhpBrowser
            - WebHelper
        config:
            PhpBrowser:
               url: 'http://abc.localhost'
    

    Then you run the command php codecept.phar run inside your guest vm