Closed (fixed)
Project:
Drupal.org infrastructure
Component:
Other
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
7 Dec 2010 at 04:39 UTC
Updated:
11 Oct 2013 at 21:30 UTC
Hi, the Drupal software project uses simpletest for functional tests. But we'd like to have more site specific tests for drupal.org and the sub-sites.
Could we install Selenium on our staging servers so we can record, and re-run selenium tests on our staging sites? We can capture selenium tests and migrate them to generic site specific function simple tests over time if that's helpful. But I'd like to test drupal.org quirks without having to have our QA team write functional tests in PHP for Drupal.org quirks.
Comments
Comment #1
gerhard killesreiter commentedI thought selenium was a browser plugin?
Comment #2
damien tournoud commentedActually, setting up selenium functional tests do not require anything from the infrastructure side.
Could you elaborate on what you think is required from us?
Comment #3
shyamala commentedAre we looking at integrating Selenium with PHP unit tests or Simple tests using the Selenium Module?
Are there specific usecases that we should try out before using the same on our servers?
Comment #4
drummAs others have mentioned, Selenium is a browser plugin, not something that goes on the server.
There are some services that automate testing on multiple platforms. Our current infrastructure doesn't have a lot of spare space and is Linux-only. I recommend using a 3rd-party service rather than trying to run our own.
However, this is all useless without actual Selenium tests built.
Comment #5
shyamala commentedWe could use Selenium to build Automated Regression tests for Drupal.org. IT's is the next Generation Automated testing tool.
With Selenium RC and Selenium Grid, Selenium is more than just a browser plugin.
Would the next step be to create a a list of Regression testing that is required to be run on Drupal.org?
Below is a short note about Selenium:
The Selenium-IDE provides for a browser plugin to develop test cases.These tests can then be exported to any supported programming language.
Selenium RC comes in two parts.
A server which automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.
Client libraries for your favorite computer language.
Selenium Grid: Coordinates multiple Selenium RC at the same time, to help speed test feedback.
"In-browser tests are inherently slow, but since commodity hardware is insanely cheap nowadays there is no excuse for not running all these tests in parallel on multiple machines and dramatically speeding up your feedback cycle. This is exactly what Selenium Grid is about."
Comment #6
gerhard killesreiter commentedI am all for having such tests, but before we invest in extra hardware for them, I'd like to see some actual tests.
So, the first step would be to get a number of people to gether who would want to work on this, then collaborate in drawing up lists of needed tests, and then write some tests.
Also, d.o doesn't change all that frequently, so I am not sure if we'd really need these tests frequently.
Comment #7
shyamala commentedInterested in building Selenium tests signup at http://groups.drupal.org/node/129939
Comment #8
rfaysubscribe.
Comment #9
gregglesSubscribe - I am building basic tests for security.drupal.org (verifying access)
Comment #10
p0deje commentedI suppose it's better to use Selenium 2 WebDriver as long as RC won't be further developed.
Also, my offer is to use Page-Object pattern (or even BDD). I already have classes for Homepage, LoginPage, AccountPage etc. for clean Drupal 6 installation. I can update them for Drupal.org. NB: they are written in Python.
Examples:
Comment #11
killes@www.drop.org commentedWouldn't behat be easier?
Comment #12
eliza411 commentedI think that the behat tests we have at https://drupal.org/project/doobie can probably allow us to close this as fixed. Would always love a hand improving those!