Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get "runserver" command to work #146

Open
alexfinnarn opened this issue Aug 15, 2018 · 4 comments
Open

Get "runserver" command to work #146

alexfinnarn opened this issue Aug 15, 2018 · 4 comments

Comments

@alexfinnarn
Copy link

https://travis-ci.com/alexfinnarn/highlightjs_wysiwyg/builds/81939957#L794

I'm trying to get Behat tests running on PRs via Travis CI working as I've done so on Drupal 7 contrib modules.

The runserver command isn't supported by Backdrop, and I'm not sure why that is or how different that command will need to be for running Backdrop sites.

I've tried using php -S with the built-in server, but that seems to not take into account things like clean URLs and other things I can't remember at the moment...it just didn't work for me.

@serundeputy
Copy link
Member

@alexfinnarn is Behat going to work w/ Backdrop? I guessing we'll need to fork the Drupal and/or drush drivers for Behat and do some tweaking.

I've not specific looked into this, but Behat is on my radar and that was the outline that was forming in my mind.

Have you tried Behat tests with Backdrop locally yet?

@alexfinnarn
Copy link
Author

@serundeputy Behat will work with anything accessible via a browser. I think you are thinking of always using the Behat Drupal Extension, which would probably take some work to try and be able to use all the step definitions.

However, I removed that extension from the Drupal tests I've been writing since it added more cruft I didn't use most of the time and caused other depdencies to update...you know, the "I depend on an old dependency of a dependency and...oh fuck, security/bug update can't be applied" type of deal. So, I kept it as lean as possible.

{
  "require": {
    "behat/mink-extension": "~2.3",
    "behat/mink-goutte-driver": "~1.2",
    "behat/mink-selenium2-driver": "~1.3"
  },
  "minimum-stability": "dev",
  "prefer-stable": true,
  "config": {
    "bin-dir": "bin/"
  }
}

Three dependencies and some custom step definitions. Add in Sauce Labs to host the Selenium Server and the setup has been doing fine for awhile.

The main step I used in the Drupal extension was the logging in of users, but that was done in PHP so a connection to the external site was needed in order for that step to work. Also, it kept recreating users for each test, ideal test-wise but slow pragmatically.

So, I created a custom module that just created new users in the roles I wanted before the tests ran. Doing it that way allowed me to enable that module on a remote site and not have to ssh into it to be able to log in users.

There might be more steps in the Drupal Extension that other people would want to use, but for starters, I was just going to keep it simple.

@alexfinnarn
Copy link
Author

Selenium/JS emulation can be tricky so I was going to start out with just behat/mink-goutte-driver.

@alexfinnarn
Copy link
Author

I ended up getting https://travis-ci.com/alexfinnarn/highlightjs_wysiwyg/builds/82093482 to work. Hoorays! So, I at least know it works for a quick smoke test purpose. I will continue to add more to that testing template and might encounter other issues...also, of course, I ought to test it out locally, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants