refactored suite for parallism #30
Annotations
14 errors, 5 warnings, and 2 notices
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @pro:
tests/pw/tests/api/announcements.spec.ts#L34
1) [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro
Error: Result does not match schema: Invalid date
Details: {
"issues": [
{
"code": "invalid_date",
"path": [
7,
"date_gmt"
],
"message": "Invalid date"
}
],
"name": "ZodError"
}
32 | expect(response.ok()).toBeTruthy();
33 | expect(responseBody).toBeTruthy();
> 34 | expect(responseBody).toMatchSchema(schemas.announcementsSchema.announcementsSchema);
| ^
35 | });
36 |
37 | test('get single announcement @Pro', async () => {
at /home/runner/work/dokan/dokan/tests/pw/tests/api/announcements.spec.ts:34:30
|
[api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @pro:
tests/pw/tests/api/announcements.spec.ts#L34
1) [api_tests] › announcements.spec.ts:30:9 › announcements api test › get all announcements @Pro
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Result does not match schema: Invalid date
Details: {
"issues": [
{
"code": "invalid_date",
"path": [
8,
"date_gmt"
],
"message": "Invalid date"
}
],
"name": "ZodError"
}
32 | expect(response.ok()).toBeTruthy();
33 | expect(responseBody).toBeTruthy();
> 34 | expect(responseBody).toMatchSchema(schemas.announcementsSchema.announcementsSchema);
| ^
35 | });
36 |
37 | test('get single announcement @Pro', async () => {
at /home/runner/work/dokan/dokan/tests/pw/tests/api/announcements.spec.ts:34:30
|
[api_tests] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @pro:
tests/pw/tests/api/supportTickets.spec.ts#L1
2) [api_tests] › supportTickets.spec.ts:76:9 › support ticket api test › update batch support tickets @Pro
Test timeout of 10000ms exceeded.
|
e2e_api tests
Process completed with exit code 1.
|
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v:
tests/pw/pages/basePage.ts#L438
1) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v
Error: locator.hover: Error: strict mode violation: locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') resolved to 5 elements:
1) <td data-title="Name" class="column-primary">…</td> aka getByRole('cell', { name: 'p1_v1 (simple)' })
2) <article>…</article> aka locator('article').filter({ hasText: 'Lillie Conroy on p1_v1 (' })
3) <article>…</article> aka locator('article').filter({ hasText: 'Becky Walsh on p1_v1 (simple)' })
4) <article>…</article> aka locator('article').filter({ hasText: 'Henry Abshire on p1_v1 (' })
5) <article>…</article> aka locator('article').filter({ hasText: 'Carmen Langworth on p1_v1 (' })
Call log:
- waiting for locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..')
at ../../pages/basePage.ts:438
436 | // hover on selector
437 | async hover(selector: string): Promise<void> {
> 438 | await this.page.locator(selector).hover();
| ^
439 | // await this.page.hover(selector);
440 | await this.wait(0.2);
441 | }
at ProductsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43)
at ProductsPage.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:454:20)
at ProductsPage.vendorAddProductCategory (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:479:9)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:100:9
|
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v:
tests/pw/pages/basePage.ts#L438
1) [e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.hover: Error: strict mode violation: locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..') resolved to 5 elements:
1) <td data-title="Name" class="column-primary">…</td> aka getByRole('cell', { name: 'p1_v1 (simple)' })
2) <article>…</article> aka locator('article').filter({ hasText: 'Lillie Conroy on p1_v1 (' })
3) <article>…</article> aka locator('article').filter({ hasText: 'Becky Walsh on p1_v1 (simple)' })
4) <article>…</article> aka locator('article').filter({ hasText: 'Henry Abshire on p1_v1 (' })
5) <article>…</article> aka locator('article').filter({ hasText: 'Carmen Langworth on p1_v1 (' })
Call log:
- waiting for locator('//a[contains(text(),\'p1_v1 (simple)\')]/../..')
at ../../pages/basePage.ts:438
436 | // hover on selector
437 | async hover(selector: string): Promise<void> {
> 438 | await this.page.locator(selector).hover();
| ^
439 | // await this.page.hover(selector);
440 | await this.wait(0.2);
441 | }
at ProductsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43)
at ProductsPage.goToProductEdit (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:454:20)
at ProductsPage.vendorAddProductCategory (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:479:9)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:100:9
|
[e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @pro @a:
tests/pw/pages/basePage.ts#L438
2) [e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A
TimeoutError: locator.hover: Timeout 20000ms exceeded.
Call log:
- waiting for locator('//strong[contains(text(),\'test announcement_qfKRSHRck8\')]/../..')
at ../../pages/basePage.ts:438
436 | // hover on selector
437 | async hover(selector: string): Promise<void> {
> 438 | await this.page.locator(selector).hover();
| ^
439 | // await this.page.hover(selector);
440 | await this.wait(0.2);
441 | }
at AnnouncementsPage.hover (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:438:43)
at AnnouncementsPage.updateAnnouncement (/home/runner/work/dokan/dokan/tests/pw/pages/announcementsPage.ts:84:28)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/announcements.spec.ts:47:9
|
[e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @pro @a:
tests/pw/pages/basePage.ts#L238
3) [e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @Pro @A ──
TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response"
at ../../pages/basePage.ts:238
236 | // click & wait for response
237 | async clickAndWaitForResponseAndLoadState(subUrl: string, selector: string, code = 200): Promise<Response> {
> 238 | const [, response] = await Promise.all([this.page.waitForLoadState('networkidle'), this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]);
| ^
239 | expect(response.status()).toBe(code);
240 | return response;
241 | }
at CouponsPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102)
at CouponsPage.addMarketplaceCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:32:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:44:9
|
[e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @pro @c:
tests/pw/pages/basePage.ts#L1331
4) [e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @Pro @c ─────────
Error: expect.toContainText: Error: strict mode violation: locator('div.wc-block-components-notice-banner__content') resolved to 2 elements:
1) <div class="wc-block-components-notice-banner__conten…>The quantity of "p1_v1 (simple)" was changed to 2.</div> aka getByText('The quantity of "p1_v1 (')
2) <div class="wc-block-components-notice-banner__conten…>Coupon code "c1_v1" has been applied to your cart.</div> aka locator('#post-6').getByText('Coupon code "c1_v1" has been')
Call log:
- expect.toContainText with timeout 15000ms
- waiting for locator('div.wc-block-components-notice-banner__content')
at ../../pages/basePage.ts:1331
1329 | // assert element to contain text
1330 | async toContainText(selector: string, text: string | RegExp) {
> 1331 | await expect(this.page.locator(selector)).toContainText(text);
| ^
1332 | }
1333 |
1334 | // assert element to have count
at CustomerPage.toContainText (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:1331:51)
at CustomerPage.applyCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:278:20)
at CouponsPage.applyCoupon (/home/runner/work/dokan/dokan/tests/pw/pages/couponsPage.ts:107:9)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/coupons.spec.ts:77:9
|
[e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c:
tests/pw/pages/customerPage.ts#L84
5) [e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c
Error: expect(received).toBe(expected) // Object.is equality
Expected: "gilbertromaguera"
Received: undefined
at ../../pages/customerPage.ts:84
82 | }
83 | const loggedInUser = await this.getCurrentUser();
> 84 | expect(loggedInUser).toBe(username.toLowerCase());
| ^
85 | }
86 |
87 | // customer become vendor
at CustomerPage.customerRegister (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:84:30)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/customer.spec.ts:27:9
|
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @pro @v:
tests/pw/pages/basePage.ts#L238
6) [e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v
TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response"
at ../../pages/basePage.ts:238
236 | // click & wait for response
237 | async clickAndWaitForResponseAndLoadState(subUrl: string, selector: string, code = 200): Promise<Response> {
> 238 | const [, response] = await Promise.all([this.page.waitForLoadState('networkidle'), this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]);
| ^
239 | expect(response.status()).toBe(code);
240 | return response;
241 | }
at CustomerPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102)
at CustomerPage.paymentOrder (/home/runner/work/dokan/dokan/tests/pw/pages/customerPage.ts:365:20)
at VendorPage.buyProductAdvertising (/home/runner/work/dokan/dokan/tests/pw/pages/vendorPage.ts:320:25)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productAdvertising.spec.ts:77:25
|
[e2e_tests] › productReviews.spec.ts:62:9 › Product Reviews test › vendor can permanently-delete product review @pro @v:
tests/pw/pages/basePage.ts#L232
7) [e2e_tests] › productReviews.spec.ts:62:9 › Product Reviews test › vendor can permanently-delete product review @Pro @v
TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response"
at ../../pages/basePage.ts:232
230 | // click & wait for response
231 | async clickAndWaitForResponse(subUrl: string, selector: string, code = 200): Promise<Response> {
> 232 | const [response] = await Promise.all([this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]);
| ^
233 | return response;
234 | }
235 |
at ProductReviewsPage.clickAndWaitForResponse (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:232:57)
at ProductReviewsPage.updateProductReview (/home/runner/work/dokan/dokan/tests/pw/pages/productReviewsPage.ts:77:28)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/productReviews.spec.ts:64:9
|
[e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @pro @a:
tests/pw/pages/basePage.ts#L238
8) [e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @Pro @A
TimeoutError: page.waitForResponse: Timeout 20000ms exceeded while waiting for event "response"
at ../../pages/basePage.ts:238
236 | // click & wait for response
237 | async clickAndWaitForResponseAndLoadState(subUrl: string, selector: string, code = 200): Promise<Response> {
> 238 | const [, response] = await Promise.all([this.page.waitForLoadState('networkidle'), this.page.waitForResponse(resp => resp.url().includes(subUrl) && resp.status() === code), this.page.locator(selector).click()]);
| ^
239 | expect(response.status()).toBe(code);
240 | return response;
241 | }
at ProductsPage.clickAndWaitForResponseAndLoadState (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:238:102)
at ProductsPage.addDokanSubscription (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:249:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:64:9
|
[e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @pro @v:
tests/pw/pages/basePage.ts#L640
9) [e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @Pro @v
TimeoutError: page.fill: Timeout 20000ms exceeded.
Call log:
- waiting for locator('#dokan-wholesale-price')
- locator resolved to <input value="" type="text" name="wholesale[price]" id=…/>
- elementHandle.fill("90")
- waiting for element to be visible, enabled and editable
- element is not visible - waiting...
at ../../pages/basePage.ts:640
638 | // fill in input field
639 | async fill(selector: string, text: string): Promise<void> {
> 640 | await this.page.fill(selector, text);
| ^
641 | }
642 |
643 | // fill if visible
at ProductsPage.fill (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:640:25)
at ProductsPage.clearAndType (/home/runner/work/dokan/dokan/tests/pw/pages/basePage.ts:618:20)
at ProductsPage.addProductWholesaleOptions (/home/runner/work/dokan/dokan/tests/pw/pages/productsPage.ts:607:20)
at /home/runner/work/dokan/dokan/tests/pw/tests/e2e/products.spec.ts:164:9
|
e2e_api tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/setup-node@v3, actions/cache@v3, actions/github-script@v6, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Slow Test:
tests/pw/[api_tests] › products.spec.ts#L1
tests/pw/[api_tests] › products.spec.ts took 27.0s
|
Slow Test:
tests/pw/[api_tests] › supportTickets.spec.ts#L1
tests/pw/[api_tests] › supportTickets.spec.ts took 26.8s
|
Slow Test:
tests/pw/[e2e_tests] › products.spec.ts#L1
tests/pw/[e2e_tests] › products.spec.ts took 7.2m
|
Slow Test:
tests/pw/[e2e_tests] › storeSupports.spec.ts#L1
tests/pw/[e2e_tests] › storeSupports.spec.ts took 3.5m
|
|
🎭 Playwright Run Summary
1 failed
[e2e_tests] › products.spec.ts:99:9 › Product functionality test › vendor can add product category @lite @v
17 flaky
[e2e_tests] › announcements.spec.ts:45:9 › Announcements test (admin) › admin can trash announcement @Pro @A
[e2e_tests] › coupons.spec.ts:43:9 › Coupons test › admin can add marketplace coupon @Pro @A ───
[e2e_tests] › coupons.spec.ts:76:9 › Coupons test › customer can apply coupon @Pro @c ──────────
[e2e_tests] › customer.spec.ts:26:9 › Customer user functionality test › customer can register @lite @c
[e2e_tests] › productAdvertising.spec.ts:74:9 › Product Advertising test › vendor can buy product advertising @Pro @v
[e2e_tests] › productReviews.spec.ts:62:9 › Product Reviews test › vendor can permanently-delete product review @Pro @v
[e2e_tests] › products.spec.ts:63:9 › Product functionality test › admin can add vendor subscription @Pro @A
[e2e_tests] › products.spec.ts:163:9 › Product functionality test › vendor can add product wholesale options @Pro @v
[e2e_tests] › refunds.spec.ts:56:9 › Refunds test › admin can perform refund requests bulk actions @Pro @A
[e2e_tests] › reports.spec.ts:40:9 › Reports test › admin can search all logs @Pro @A ──────────
[e2e_tests] › requestForQuoteRules.spec.ts:54:9 › Request for quotation Rules test › admin can perform quote rule bulk actions @Pro @A
[e2e_tests] › requestForQuotes.spec.ts:65:9 › Request for quotation test admin › admin can convert quote to order @Pro @A
[e2e_tests] › shop.spec.ts:43:9 › Shop functionality test › customer can filter products by location @Pro @c
[e2e_tests] › spmv.spec.ts:85:9 › Vendor SPMV test › vendor can clone product @Pro @v ──────────
[e2e_tests] › stores.spec.ts:42:9 › Stores test › admin can add vendor @lite @A ────────────────
[e2e_tests] › vendorBooking.spec.ts:120:9 › Booking Product test › vendor can add booking for existing customer @Pro @v
[e2e_tests] › vendorVerifications.spec.ts:31:9 › Verifications test › vendor can send id verification request @Pro @v
136 skipped
459 passed (16.2m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
test-artifact
Expired
|
122 MB |
|