@robocoder opened this Issue on February 16th 2012 Contributor

The last big missing functionnality not yet tested is our Installation process, as well as the update process.

Let's add screenshot tests for:

  • Installer process
  • Upgrade to GIT repo from 1.0

The result will be that we always know whether installation + update to latest Piwik work. This will result in more agility and ability to release new versions faster.

@robocoder commented on February 17th 2012 Contributor

(In [5866]) refs #2935 - remove broken webtests =P

@robocoder commented on March 7th 2012 Contributor

(In [5992]) refs #2935 - re-enable JavaScript (hack)

@robocoder commented on March 7th 2012 Contributor

(In [5993]) refs #2935 - add delay for form to auto-post

@robocoder commented on March 9th 2012 Contributor

(In [6007]) refs #2935 - simulate auto-post form

@mattab commented on July 27th 2012 Member

It is really critical for our QA process to re-enable the Webtests on Jenkins.

@Anthon would you have an estimate for this task? is it half day or 2 days work? :)

@robocoder commented on July 27th 2012 Contributor

Much more than 2, I suspect -- a lot of web tests were disabled.

Moreover, the ticket involves rewriting all the web tests.

We would switch to either PHPUnit+Mink or Behat+Mink. Using Mink will give us more driver choices, eg Selenium (or Selenium2) for pages with JavaScript (eg testing software update), and non-Selenium drivers for non-JavaScript pages (eg login).

@robocoder commented on July 27th 2012 Contributor

(oh another option is phpspec + mink)

@mattab commented on July 29th 2012 Member

It sounds really hard and might never happen.. :(

Maybe we could find a workaround to re-enable at least the install/update tests which were an incredibly useful part of our QA toolset... ?

Is there a way to make the existing tests work again using selenium? I remember the problem was about Javascript files/Jquery not being executed properly to click on some buttons?

@robocoder commented on August 1st 2012 Contributor

the javascript engine used by HtmlUnit couldn't handle the dynamic changes to the DOM. I'm subscribed to the webtest mailing list and we are not the only ones feeling the pain.

It might be nice to use Behat+Mink. I've already done work here to parallelize Selenium testing.

@mattab commented on October 16th 2012 Member

Webtests are not that critically important, compared to getting Jenkins back to working. Decreasing priority...

Anthon, do you reckon I should create a ticket for Jenkins setup?

@mattab commented on December 13th 2012 Member

Many times our sql update code wasn't failure-friendly and would fail when re-executed as it left the DB in a half-updated state.

Having the following test would ensure that all future update scripts written are working in a failure scenario.

A new idea for a webtest:

Download 1.8.3 release
Download latest
Run Auto update - but make sure the auto update code fails at the last step
Re-run auto update: the code should still run and the SQL not fail. For this, some queries will throw exceptions which must be specifically ignored, eg. "1060 Duplicate column name 'xx'" can be ignored for an ALTER that adds a column.
The update re-running after initial failure should succeed. 
@mattab commented on February 21st 2013 Member

I've been told we should use Webdriver eg. https://github.com/facebook/php-webdriver

and we could run the test on Travis CI as well.

If anyone is fluent in webdriver/selenium, please contact me at matt@piwik.org :)

@mattab commented on February 1st 2014 Member

Consolidating milestones FTW

@diosmosis commented on March 12th 2014 Member

In 50742af6d5784d78bdf36281880c45310875a698: Refs #2935, add installation UI test, allow no fixture to be specified for screenshot test and fix following installation process regressions:

  • pending events should be executed after all plugins successfully loaded so plugin order in config file is unimportant
  • do not set piwikUrl on View instances if the DB cannot be connected to
  • create Twig instance when clearing template cache instead of new View
@diosmosis commented on March 12th 2014 Member

In f05c080ec3dc724929b6836ca4cfbea1aab36f0a: Refs #2935, fixing Installation UI test.

@mattab commented on April 1st 2014 Member

@capedfuzz well done on adding those tests. Please close the ticket if it's fixed :)

@mattab commented on April 1st 2014 Member

Feedback:

This Issue was closed on April 3rd 2014
Powered by GitHub Issue Mirror