summaryrefslogtreecommitdiffstats
path: root/tests/acceptance/config
Commit message (Collapse)AuthorAgeFilesLines
* Update acceptance tests to Selenium 3Daniel Calviño Sánchez2021-04-161-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The acceptance tests used the last Selenium 2 Docker container available, which provides a rather old Firefox version (Firefox 47). Nevertheless, despite some rendering issues, most things still worked as expected due to the JavaScript files being built with support for older browsers. However, now that support for Internet Explorer 11 and older browsers will be dropped things could start to fail, so a newer browser (and thus a newer Selenium version) should be used in the acceptance tests. Selenium has been standardized by the W3C, and the protocol to communicate between the Selenium server and the browser has changed due to that. Firefox >= 48 only supports the new W3C protocol, but the Selenium driver for Mink does not support it yet. The old protocol can still be used in recent Chromium/Chrome versions by explicitly forcing it, so for the time being the acceptance tests will need to be run on Chrome instead (although Firefox provides some interesting features like the fake streams that would be needed to test calls in Talk, so they should be moved again to Firefox once possible). Finally, the default shm size of Docker is 64 MiB. This does not seem enough to run newer Chrome releases and causes the browser to randomly crash during the tests ("unknown error: session deleted because of page crash" is shown in the logs). Due to this "disable-dev-shm-usage" needs to be used so Chrome writes shared memory files into "/tmp" instead of "/dev/shm" (the default shm size of Docker could have been increased instead using "docker run --shm-size...", but that seems to be problematic when the container is run in current Drone releases). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Update PHPUnit from 4.X to 6.X in acceptance testsDaniel Calviño Sánchez2021-03-301-2/+2
| | | | | | | | The PHPUnit update also required an update of "symfony/yaml", so besides the changes needed for PHPUnit the "behat.yml" file also had to be adjusted. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Accept incoming shares in acceptance testsDaniel Calviño Sánchez2019-11-201-0/+2
| | | | | | | | | | | | | | | | | Incoming shares are no longer automatically added to the file list of the sharee. Instead, the user now needs to explictly accept the share. Currently shares can be accepted only from the Notifications app, so it must be explicitly cloned before installing Nextcloud if it is not found in the "apps" directory. Note that the development branches are already built, so there is no need to explicitly build the app. With the new sharing behaviour the "share a skeleton file with another user before first login" scenario is no longer valid (as the user will need to log in to accept the share, so at that point the skeleton is already created), so it was removed. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Rename "Notification" to "Toast"Daniel Calviño Sánchez2019-11-201-2/+2
| | | | | | | | Since Nextcloud 17 the proper name for the old built-in notifications is "Toast". Moreover, this will reduce ambiguity when using the "notification" term to refer to elements in the Notifications app. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add acceptance tests for moving and copying files to another folderDaniel Calviño Sánchez2019-01-221-0/+2
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add acceptance tests for searching commentsDaniel Calviño Sánchez2018-12-211-0/+2
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Rename "FilesSharingAppContext" to "PublicShareContext"Daniel Calviño Sánchez2018-11-231-2/+2
| | | | | | | | Having both "FilesAppSharingContext" and "FilesSharingAppContext" was confusing, so "FilesSharingAppContext" was renamed to a more descriptive name. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Extract locators and steps for sharing in Files app to their own contextDaniel Calviño Sánchez2018-11-231-0/+2
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add acceptance test for resharing a file with another userDaniel Calviño Sánchez2018-11-231-0/+3
| | | | | | | | | | | | | | | | To reshare a file there must be at least three enabled users in the system; although it would be possible to run the steps to create a third user in the scenarios that need it for convenience a third enabled user besides "admin" and "user0" was added to the default setup. In a similar way, a new step was added too to login as a given user name, similar to the steps to log in as "user0" and as "admin". Finally, another actor, "Jim", was introduced for those scenarios which should be played by three standard actors (that is, without a special configuration like "Rubeus"). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Move acceptance tests that crash the PHP built-in server to ApacheDaniel Calviño Sánchez2018-10-291-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | The PHP built-in server can crash when certain actions are performed in Nextcloud (but although the crash is triggered by Nextcloud it does not seem to be a Nextcloud bug), which can lead to failures in the acceptance tests that would have otherwise passed. A crash of the PHP built-in server during an acceptance test can be identified by the message "sh: 1: kill: No such process" in the acceptance tests output; as the PHP built-in server crashed its process does no longer exist when it is tried to be killed when the scenario ends. Although the crash has been observed in other tests too it is more prevalent in the tests for tags and the theming app. In order to reduce the false positives those tests are now run on Apache instead of on the PHP built-in sever. However, the rest of tests are still run on the PHP built-in server due to its lower resource consumption. In order to run a feature or just a scenario using Apache it has to be tagged with "@apache"; features or scenarios without that tag (the default) will run on the PHP built-in server instead. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Set "wd_host" directly in "behat.yml" instead of through "BEHAT_PARAMS"Daniel Calviño Sánchez2018-06-221-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The "wd_host" parameter of Selenium2 sessions specify the URL used by the Selenium driver to connect with the Selenium server. Thus, when the Selenium server is at a different host or port than the default one (for example, when run on Drone) the "wd_host" parameter must be set for each of the Selenium2 sessions defined in "behat.yml". The "BEHAT_PARAMS" environment variable, which extends the "behat.yml" configuration file, was used for that. However, this required adding to the "BEHAT_PARAMS" in "run-local.sh" each new session added to "behat.yml", including those added in the acceptance tests of apps. To address that limitation, this commit introduces a simulated variable, "selenium.server"; just before the acceptance tests are run the "selenium.server" variable in the "wd_host" parameter is replaced in the "behat.yml" file used by the acceptance tests. Note that the file that is modified is the one inside the Docker container used to run the acceptance tests, so the original file is not touched. Note that a simulated variable is needed because Behat does not support overridding nor setting configuration parameters with environment variables. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add basic acceptance tests for apps managementJulius Härtl2018-06-091-0/+1
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Use "paths.base" parameter for the path to the custom Firefox profileDaniel Calviño Sánchez2018-05-291-1/+1
| | | | | | | | Although in the case of the acceptance tests for the server it is not strictly needed it was modified for consistency with the configuration used for the acceptance tests in apps. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Merge pull request #8824 from nextcloud/settings-vueMorris Jobke2018-05-231-0/+2
|\ | | | | Vue migration: settings
| * Users list acceptance testsJohn Molakvoæ (skjnldsv)2018-05-161-0/+2
| | | | | | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* | Add Firefox profile with support for CSS grid to acceptance testsDaniel Calviño Sánchez2018-05-182-0/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The acceptance tests are currently run on Firefox 47; in that version the CSS grid support was not enabled by default, but it could be enabled through a setting in the Firefox profile. By default Selenium uses a clean Firefox profile when a new session is started, but it also allows the customization of the profile through a zipped "user.js" file. The contents of that file have to be provided in the "firefox_profile" capability when the Firefox session is created. In the Mink extension for Behat several Mink sessions can be defined in the "behat.yml" file. Each Mink session uses a different browser session in Selenium, and each of those browser sessions is initialized with the capabilities provided in the "behat.yml" file. From the point of view of the acceptance tests each Mink session is an actor, so different actors can use different browsers with different capabilities. Due to all this a new actor was introduced, "Rubeus", who uses a Firefox browser that has CSS grid support; this actor is meant to be used only in those acceptance tests that require proper support for CSS grids. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add context classes to Composer autoloadDaniel Calviño Sánchez2018-04-061-2/+0
| | | | | | | | | | | | | | | | | In order to autoload the server context classes the "bootstrap" directory was explicitly listed in Behat autoload configuration. This is fine in the configuration of acceptance tests for the server, but it would force the configuration of acceptance tests for the apps to explicitly include the path for the server context classes to be able to use them (for example, for the login step). Besides with its own configuration Behat also supports autoloading classes using Composer, so now context classes are autoloaded using Composer instead; thanks to this the server context classes are autoloaded also in the acceptance tests for apps without any explicit configuration in them. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Header acceptance featuresJohn Molakvoæ (skjnldsv)2018-03-091-0/+1
| | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* Extract file list locators and steps to its own classDaniel Calviño Sánchez2018-03-091-0/+1
| | | | | | | | | | Besides the extraction some minor adjustments (sorting locators for file action menu entries to reflect the order of the menu entries in the UI, moving parametrized locators like "createMenuItemFor" above the locators that use them and placing "descendantOf" calls always in a new line) were made too. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* add acceptance testsArthur Schiwon2017-10-281-0/+1
| | | | Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
* Add acceptance tests for setting the color in the Theming appDaniel Calviño Sánchez2017-08-101-0/+1
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add acceptance tests for unselecting items in dropdown for tagsDaniel Calviño Sánchez2017-07-101-0/+1
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Extract app navigation elements to its own contextDaniel Calviño Sánchez2017-07-081-0/+1
| | | | | | | | The app navigation is not exclusive to the Files app but a generic component used by other apps too, so its locators and steps should be in its own context. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Add acceptance tests for sharing password protected linksDaniel Calviño Sánchez2017-04-241-0/+1
| | | | Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
* Move acceptance tests from build/acceptance to tests/acceptanceDaniel Calviño Sánchez2017-04-211-0/+26
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>