Create Playwright User Scenario for our vocon cloud desktop solution @ Angular 14
Budget: €30 – €250 EUR
We are a small company offering a cloud-based free virtual desktop for developers on https://cloud.vocon-it.com/products?source=freelancer.com.
We seek to improve our frontend system. For that, we would like you to create end-to-end tests based on Playwright using Angular 14.
Part 1 (in this project):
A very first simple scenario is to be tested: access the site and log in. More scenarios will follow, but they are not part of this project yet, to keep the project small and manageable.
Acceptance Criteria of our corresponding Jira Story (our number: CAAS-1437):
- A new Angular 14 Project is created as a GIT project with Playwright installed
- Following single Playwright test scenario is working fine:
--> Open our cloud desktop page and verify that the title is seen
--> Open VS Code and verify that you are forwarded to the auth page
--> Log in as a GitHub user (you can use your own account, but the user credentials must be configurable without being seen in the GIT Repo)
--> Verify that the loading spinner page is shown (look for the title of the page and the loading spinner)
--> Verify that noVNC opens within 50 sec (timeout should be configurable via environment.ts) (hint: `await page.locator('#noVNC_left_dummy_elem').click();`
- Following best practices are stick to:
--> Playwright expect method always acts on locators, not on scalar objects.
Example:
----> wrong: `await expect(this.loadingspinner.length()).toBe(0);`
----> correct: `await expect(this.loadingspinner).toHaveCount(0);`
--> Tests are split into meaningful test steps. Tests and test steps have short, but meaningful descriptions/names. They may depend on const variables defined in the test spec. Example:
```
const loadingSpinnerTimeoutSeconds = 30:
await test.step(`Loading Spinner finishes after ${loadingSpinnerTimeoutSeconds} seconds`, async () => {...
...
});
```
We seek to improve our frontend system. For that, we would like you to create end-to-end tests based on Playwright using Angular 14.
Part 1 (in this project):
A very first simple scenario is to be tested: access the site and log in. More scenarios will follow, but they are not part of this project yet, to keep the project small and manageable.
Acceptance Criteria of our corresponding Jira Story (our number: CAAS-1437):
- A new Angular 14 Project is created as a GIT project with Playwright installed
- Following single Playwright test scenario is working fine:
--> Open our cloud desktop page and verify that the title is seen
--> Open VS Code and verify that you are forwarded to the auth page
--> Log in as a GitHub user (you can use your own account, but the user credentials must be configurable without being seen in the GIT Repo)
--> Verify that the loading spinner page is shown (look for the title of the page and the loading spinner)
--> Verify that noVNC opens within 50 sec (timeout should be configurable via environment.ts) (hint: `await page.locator('#noVNC_left_dummy_elem').click();`
- Following best practices are stick to:
--> Playwright expect method always acts on locators, not on scalar objects.
Example:
----> wrong: `await expect(this.loadingspinner.length()).toBe(0);`
----> correct: `await expect(this.loadingspinner).toHaveCount(0);`
--> Tests are split into meaningful test steps. Tests and test steps have short, but meaningful descriptions/names. They may depend on const variables defined in the test spec. Example:
```
const loadingSpinnerTimeoutSeconds = 30:
await test.step(`Loading Spinner finishes after ${loadingSpinnerTimeoutSeconds} seconds`, async () => {...
...
});
```