-
Notifications
You must be signed in to change notification settings - Fork 155
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
[full-ci] feat(smoke tests): automated parallel smoke tests #5675
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
Results for oC10MoveUpload https://drone.owncloud.com/owncloud/web/18295/14/1 |
Results for oC10iPhone1 https://drone.owncloud.com/owncloud/web/18296/45/1
|
Results for oC10XGAPortrait2 https://drone.owncloud.com/owncloud/web/18296/43/1 |
I see that this uses Playwright as the framework for accessing the browser. That moves away from Nightwatch. We already started making some user-journeys. They are currently in the Nightwatch-based test suite. It is easy to add whatever scenarios we want to the Nightwatch-based test suites. We can add to the user-journeys, or we can make another test suite for "basic smoke tests for local development" or we can add and choose scenarios anywhere through the test suites and put some tag on them so that they can be easily run. There is a lot of duplication in having both Nightwatch and Playwright running scenarios that require the same knowledge of how to create a user, group, of the element ids on pages and so on. What are the thoughts/reasons for moving from Nightwatch to Playwright? If Playwright has significant advantage compared to Nightwatch, then should we switch all the UI tests to Playwright? |
Results for oC10IntegrationApp2 https://drone.owncloud.com/owncloud/web/18319/66/1 |
Thanks for you input, it started to be a poc and at the end worked out really nice. This has a lot of benefits, for example there are rare cases where a manual wait is needed. |
ad2d279
to
962ccfc
Compare
Results for oC10XGAPortrait1 https://drone.owncloud.com/owncloud/web/18463/42/1
|
Results for oCISSharingInternalUsers1 https://drone.owncloud.com/owncloud/web/18463/55/1 |
962ccfc
to
e39516e
Compare
Results for oCISLocks https://drone.owncloud.com/owncloud/web/18796/48/1 |
Results for oCISFiles2 https://drone.owncloud.com/owncloud/web/18796/53/1 |
Results for oCISSharingPublic https://drone.owncloud.com/owncloud/web/18796/61/1 |
ocis and oc10 bdd smoke tests are now able to with playwright and in parallel, this means running tests with many users at the same time are now possible. Sessions won't conflict, this introduces a whole new level of test possibilities and speed
c06f637
to
94a25b4
Compare
Results for oC10iPhone2 https://drone.owncloud.com/owncloud/web/18806/46/1 |
Rebased and fixed a minor CI issue, in favor of merging this and building on top/updating the (currently WIP/draft documentation) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lovely!
} | ||
|
||
export const checkResponseStatus = (response: Response, message = ''): void => { | ||
// response.status >= 200 && response.status < 300 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dev leftover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
think yes, should be fine to get rid of it
import fetch, { BodyInit, Response } from 'node-fetch' | ||
import { User } from '../types' | ||
import { config } from '../config' | ||
import _ from 'lodash' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not use lodash-es
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could but there it doesnt matter, does not get packed
94a25b4
to
6784a61
Compare
15a4a71
to
a9bae68
Compare
https://drone.owncloud.com/owncloud/web/18812/7/8
That is surprising - this branch is rebased to the latest master. I suspect that to move to the later |
a9bae68
to
1373d02
Compare
From my understanding it lacks the node14-based core img, see latest commit 😉 and error msg in CI https://drone.owncloud.com/owncloud/web/18785/14/9 |
@pascalwengerter I updated my post while you were making yours. This needs changes like in core PR owncloud/core#39141 Should we do a separate PR here in web for that, and not mix it up with this, or? |
This is where I got my inspiration from! Let's see how CI goes, I'm highly in favor of merging this if it gets green to not waste even more time waiting for it to pass Edit: The commit + core-nodejs changes are in a separate commit and will show up in the git history accordingly |
1373d02
to
8748cef
Compare
Results for oC10SharingPublicManagement https://drone.owncloud.com/owncloud/web/18815/34/1
|
Kudos, SonarCloud Quality Gate passed! |
This PR introduces a first step to have automated smoke tests.
To get a better understanding what that is, what not and how this could be useful pleas read the README.md
It introduces new concepts how and where tests are running.
It's not a final solutions, instead it's just a starting point and needs to be extended if agreed to go that road.
Things that not there yet: