Commit graph

1506 commits

Author SHA1 Message Date
Pavel Feldman f7b269d9c6
docs: brush up writing tests section (#18861) 2022-11-16 19:48:20 -08:00
Eduard Bardají Puig 10b8a83b45
docs(parameterize): fix code snippet (#18848) 2022-11-16 11:44:45 -10:00
Christian Clauss a7f205bf4d
docs(ci): upgrade GitHub Actions (#18845) 2022-11-16 11:42:04 -10:00
Yury Semikhatsky 5fcd8839dc
docs: Java, .NET, Python release notes 1.28 (#18854) 2022-11-16 13:19:20 -08:00
Yury Semikhatsky 05fb3e6de8
Revert "chore: hide TestProject.setup and TestInfo.storage (#18800)" (#18836)
Now that the patch has been cherry-picked to the release branch
reverting it on main.

This reverts commit 6deba5dc21.
2022-11-16 11:23:10 -08:00
Pavel Feldman 7c65b5d1f5
chore: render html cards for locators.md (#18839) 2022-11-16 09:54:40 -08:00
Debbie O'Brien 402b2d499e
docs: update vscode doc (#18809) 2022-11-16 08:12:26 +01:00
Dmitry Gozman 0387d96cd5
chore: multiply overloaded options in csharp (#18818)
This way we'll get the same treatment in docs generator as well as
dotnet api generator.

This also adds non-suffixed aliases for string options, e.g. `Name` in
addition to `NameString` and `NameRegex`.

Fixes #18407.
2022-11-15 15:46:54 -08:00
Pavel Feldman 210a57ea3b
docs: remove images from locators.md (#18832) 2022-11-15 13:13:16 -08:00
Andrey Lushnikov 250bc9fb2f
doc: version 1.28 release notes (#18802) 2022-11-15 11:40:35 -08:00
Yury Semikhatsky 6deba5dc21
chore: hide TestProject.setup and TestInfo.storage (#18800) 2022-11-14 17:03:01 -08:00
Dmitry Gozman 1b0a8122ba
chore: allow py code blocks for python (#18799)
Turns out, we have some snippets that use `py` instead of `python`.
2022-11-14 14:50:01 -08:00
Debbie O'Brien 25605c616c
Selectors quick fix (#18742) 2022-11-14 15:23:25 +01:00
Dmitry Gozman a7b2b04588
fix(getByRole): name and exact (#18719)
Following the `getByText()` and other methods:

- By default, matching is substring and case-insensitive. Before, it was
only case-insensitive, but not substring.
- With new option `exact: true`, matching is full string and
case-sensitive.
- Matching always normalizes whitespace.
- Codegen generates `exact: false` by default.
- `internal:role` treats `[name="foo"i]` as non-exact match.

Various fixes:
- Updated `getByRole` docs to match the reality.
- Locator generator edge cases.
2022-11-11 15:58:36 -08:00
Andrey Lushnikov bc78db07df
chore: cut 1.28 branch (#18746) 2022-11-11 15:30:15 -08:00
Andrey Lushnikov 251cc9e229
chore: fix docs (#18751) 2022-11-11 13:44:40 -08:00
Debbie O'Brien 2e84c63f0d
docs: update locators in getting started (#18738) 2022-11-11 16:24:26 +01:00
Debbie O'Brien ad5fe28416
docs: improve locators examples and flow (#18548) 2022-11-11 16:23:00 +01:00
Andrey Lushnikov f3a99fdd69
chore: address API review comments for the snapshotPathTemplate (#18716)
This patch:
- updates documentation to lead users from `TestConfig.snapshotDir` and
  `testInfo.snapshotSuffix` to `TestConfig.snapshotPathTemplate` as a
  better and more flexible alternative.
- drops `{snapshotSuffix}` from documentation
- stops using `snapshotSuffix = ''` in our own tests and switches us
  to the `snapshotPathTemplate`.
- adds `{testName}` token.
2022-11-10 17:23:57 -08:00
Chris Alley 1ec614bfc4
docs: fix grammar within class test API documentation (#18627) 2022-11-10 15:53:48 -08:00
Dmitry Gozman 194abc35cd
Revert #18561 "feat(test runner): test.reset() to reset options to default/config value" (#18704)
This reverts commit 6fef227f43.

Not shipping in 1.28.
2022-11-10 14:45:05 -08:00
Dmitry Gozman 6d456d30dc
docs: improve test.describe.configure() (#18705) 2022-11-10 12:29:38 -08:00
Dmitry Gozman 7c80b77c57
feat(clear): remove clear() methods from all classes except Locator (#18703)
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Andrey Lushnikov f52fa4ceba
chore(snapshotPathTemplate): address review comments (#18702) 2022-11-10 11:37:41 -08:00
Dante Monaldo e6a1bdffee
docs(auth): fix session storage examples (#18686)
Co-authored-by: Dante <dante@usebasis.co>
2022-11-10 09:43:42 -08:00
Andrey Lushnikov 6d491f928d
feat(playwright-test): introduce snapshotPathTemplate configuration (#18568)
This configuration option allows to set a string with template
values for precise control over snapshot path location.

An example of `snapshotPathTemplate` usage:

```ts
// playwright.config.ts
// Notice the `testDir` configuration!
export default {
  testDir: './tests',
  snapshotPathTemplate: './__screenshots__/{platform}/{projectName}/{testFilePath}/{arg}{ext}',
}
```

Currently supported "magic tokens" inside the `snapshotPathTemplate`
are:

- `{testDir}` - project's `testDir`
- `{snapshotDir}` - project's `snapshotDir`
- `{platform}` - `process.platform`
- `{projectName}` - Project's sanitized name
- `{testFileDir}` - Directories in relative path from `testDir` to test
  file path (e.g. `page/` in the example below)
- `{testFileName}` - Test file name (with extension) (e.g.
  `page-click.spec.ts` in the example below)
- `{testFilePath}` - Relative path from `testDir` to test file path
  (e.g. `page/page-click.spec.ts` in the example below)
- `{ext}` - snapshot extension (with dots)
- `{arg}` - joined snapshot name parts, without extension (e.g.
`foo/bar/baz` in the example below)
- `{snapshotSuffix}` - `testInfo.snapshotSuffix` value.

Consider the following file structure:

```
playwright.config.ts
tests/
└── page/
    └── page-click.spec.ts
```

The following `page-click.spec.ts`:

```ts
// page-click.spec.ts
import { test, expect } from '@playwright/test';

test('should work', async ({ page }) => {
  await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
});
```

Fixes #7792
2022-11-09 15:29:07 -08:00
Andrey Lushnikov 9bcb28f25a
Revert "feat: send SIGTERM to webserver before SIGKILL'ing it. (#18220)" (#18661)
This reverts commit c63a0b536d.

Reason: https://github.com/microsoft/playwright/pull/18564
2022-11-09 09:18:33 -08:00
Max Schmitt 06353e9905
docs(trace-viewer): fix broken examples (#18654)
Fixes https://github.com/microsoft/playwright-python/issues/1616
2022-11-08 14:22:14 -08:00
Yury Semikhatsky d5494edf71
feat(runner): TestOptions.storageStateName (#18587) 2022-11-07 16:27:38 -08:00
Max Schmitt 48d7bfc55f
docs: delete old auth + pom guides (#18615) 2022-11-07 15:31:42 -08:00
Kazuya Takei 05471df8bb
docs(python): remove not-needed semicolons from code snippets (#18589) 2022-11-07 08:28:07 -08:00
Yury Semikhatsky 25dc0bfacb
feat(runner): change storage fixture to TestInfo.storage() (#18584) 2022-11-04 14:28:25 -07:00
Dmitry Gozman 6fef227f43
feat(test runner): test.reset() to reset options to default/config value (#18561) 2022-11-04 09:03:29 -07:00
Max Schmitt 245260b365
docs(python): Page.emulateMedia.media "null" value follow-up (#18555)
Follow-up of 91f7e3963d.
2022-11-03 17:50:32 -07:00
Xiaoxing Ye 9338355e47
feat(testinfo): add name to attachment output name (#18440)
Per discussion in #12950, adding sanitized name to the output filename
prefix. This can make debugging easier, and the filename structure more
human friendly.
2022-11-03 13:54:51 -07:00
Max Schmitt 91f7e3963d
docs(python): have enum value to reset emulated media (#18550) 2022-11-03 12:38:02 -07:00
Yury Semikhatsky 45aa82242d
feat(runner): storage fixture (#18522) 2022-11-02 20:22:35 -07:00
Dmitry Gozman 8292398692
docs: support custom hrefs for api links (#18514) 2022-11-02 13:35:51 -07:00
Yury Semikhatsky 1d2fc1e963
feat(runner): project.setup (#18486) 2022-11-01 23:44:30 -07:00
Andrey Lushnikov a56460acb2
docs: add note to docs about WebInspector (#18483) 2022-11-01 14:01:02 -07:00
Debbie O'Brien 84aa67a7fc
docs: add release video (#18459) 2022-10-31 22:38:43 +01:00
Yury Semikhatsky 7337dd4e28
chore: revert project.{stage,run} (#18462) 2022-10-31 14:04:24 -07:00
jaktestowac.pl 9ad18b9e57
docs(ci): update ci example to avoid warnings (#18405)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-10-31 12:19:10 -07:00
Anner Visser 5f309ec49a
docs(docker): remove array around seccomp profile (#18457) 2022-10-31 12:17:10 -07:00
Tim Deschryver cb1dcccbe6
docs(nodejs): extend geolocation context examples (#17587) 2022-10-31 09:39:44 -07:00
Pavel Feldman a7f5f2d7a1
chore: allow not overriding media when creating context (#18413) 2022-10-31 09:09:52 -07:00
Denis LE ce7fc1b9f3
docs(locators): fix missing input id (#18386)
Signed-off-by: Denis LE <ledenis@users.noreply.github.com>
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-10-30 21:05:24 -07:00
Debbie O'Brien 37cd573652
docs: add missing locators + improvements (#18404) 2022-10-28 14:49:25 -07:00
Max Schmitt 445404abb7
docs: fix dotnet RegisterAsync/python jshandle example (#18408)
Fixes https://github.com/microsoft/playwright-dotnet/issues/2359
Fixes https://github.com/microsoft/playwright-python/issues/1607
2022-10-28 09:58:54 -07:00
Debbie O'Brien 8e9540b7c1
docs: remove selectors from getting started (#18403) 2022-10-28 08:54:21 -07:00
Dmitry Gozman 2d3b2a0768
feat(test runner): test.describe.configure({ retries, timeout }) (#18388)
References #10825.
2022-10-27 15:53:27 -07:00
Dmitry Gozman c4404ea98f
docs: add examples and clarifications to getByText (#18380)
Also be more explicit about normalizing whitespace, event with exact
match.

Fixes #17831.
2022-10-27 10:27:18 -07:00
Dmitry Gozman eb1c92630e
docs: update locators doc to use new APIs (#18352) 2022-10-26 15:30:22 -07:00
Debbie O'Brien d4bab139b2
docs: Codegen new screenshots (#18347) 2022-10-26 20:49:02 +02:00
Debbie O'Brien f6e642e1fa
docs: add more content to getting started vscode (#18338) 2022-10-26 20:18:16 +02:00
Max Schmitt e25537f941
feat(android): add AndroidDevice.close event (#18306) 2022-10-25 18:18:14 -07:00
Jean-François Greffier 0fe1998c72
feat(api): add clear() (#18296)
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.

Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Dmitry Gozman 921a960921
docs: fix library-js (#18314)
Fixes #18145.
2022-10-25 08:50:28 -07:00
Dmitry Gozman 329b3eadb4
feat: locator.blur() (#18303)
Note this is only available on Locator. Fixes #10724.
2022-10-25 06:10:40 -07:00
Debbie O'Brien 6c3f3068b6
docs: explanations for test isolation (#17582) 2022-10-25 08:01:47 +02:00
Max Schmitt 805312b722
feat(android): add Android.{launchServer,connect} (#18263)
Fixes https://github.com/microsoft/playwright/issues/17538
2022-10-24 17:23:11 -07:00
Pavel Feldman ab78865a8d
chore: render steps in list reporter (#18269) 2022-10-24 15:54:53 -07:00
Max Schmitt cfad84cbca
docs(test-cli): remove --ignore-snapshots alias (#18295)
Fixes https://github.com/microsoft/playwright/issues/18291

Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-10-24 10:49:58 -07:00
Dmitry Gozman 98215b4d74
docs: mention VSCode extension in debugging doc (#18261) 2022-10-21 16:29:59 -07:00
Max Schmitt a1d37e9169
docs: add new java intro (#17695)
Fixes https://github.com/microsoft/playwright/issues/17479
2022-10-21 09:52:36 -07:00
Andrey Lushnikov c63a0b536d
feat: send SIGTERM to webserver before SIGKILL'ing it. (#18220)
We now will send `SIGTERM` to the webserver and wait for the `timeout`
before sending `SIGKILL` to it.

Fixes #18209
2022-10-21 08:55:06 -07:00
Sean Killeen 7ae447ea0f
docs: fix typos (#17919) 2022-10-20 13:46:37 -07:00
AlenPaulVarghese 696f6f029a
docs: fixed a typo, in the documentation (#18218) 2022-10-20 13:35:17 -07:00
Pavel Feldman 05678c9986
docs: add custom test id attribute snippet (#18210)
Fixes https://github.com/microsoft/playwright/issues/18203
2022-10-20 10:54:57 -07:00
smacpherson64 2d120a3955
docs(puppeteer): fix broken waitForLoadState code snippet (#18212) 2022-10-20 10:50:41 -07:00
sand4rt 4ed2a01d9c
core(ct): import paths (#18131) 2022-10-19 19:41:21 -07:00
Dmitry Gozman 852a5c234b
feat(install): connection timeout (#18161)
- `PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT` for custom timeout.
- Bumped default timeout from 10s to 30s.
- Inlined `download.ts` to avoid extra plumbing.
- Removed optional arguments - we always pass them.
- Updated installation docs.

Fixes #18156.
2022-10-19 13:06:35 -07:00
Yury Semikhatsky 11eb719d13
feat(runner): project run: "always" (#18160)
Projects marked with `run: 'always'` are non shard-able and run after
failures.
2022-10-18 17:18:45 -07:00
Pavel Feldman 739b64a09a
chore: render typed locators in the recorder (#18162) 2022-10-18 16:39:58 -07:00
Yury Semikhatsky 734dd5d171
docs: update languages section (#18130) 2022-10-17 14:06:32 -07:00
Debbie O'Brien 2efa96a882
docs: update docs to show role selectors (#18063) 2022-10-14 16:55:52 +02:00
Max Schmitt a60073d664
fix(generator): .NET getByRole w/ name (#18060) 2022-10-13 08:23:43 -07:00
Yury Semikhatsky 08a3a269cd
feat(runner): project.canShard (#18037) 2022-10-12 14:34:22 -07:00
Max Schmitt e986e88c55
docs: fix wrong getByLabelText example (#18036) 2022-10-12 13:02:45 -07:00
Yury Semikhatsky 3b8f63d703
feat(runner): project.stopOnFailure (#18009) 2022-10-11 17:04:01 -07:00
Yury Semikhatsky 3592269caf
feat(runner): project.stage (#17971) 2022-10-10 17:56:18 -07:00
Max Schmitt 815277c546
docs(pytest): by default it runs on chromium (#17967)
Fixes https://github.com/microsoft/playwright-pytest/issues/132
2022-10-10 22:42:50 +03:00
Álvaro Martínez d6384a12f5
docs(release-notes): add missing reference to Page.getByTestId in 1.27 release notes (#17942)
1.27 release notes don't mention the new `Page.getByTestId` method
alongside the other added methods (`getByRole`, `getByLabelText` etc.)

This PR adds it to the corresponding release notes.

I'm not 100% sure this is the way to do it, I assume there's some
automation going on to update the documentation website, let me know if
it needs t be done differently.
2022-10-10 22:18:15 +03:00
John Hawkinson a62a67fba3
docs(library) fix js example (#17933)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-10-10 21:54:17 +03:00
Oliver Sand 6b01df6d92
fix: fix typo in treeitem role typing (#17952) 2022-10-10 20:57:55 +03:00
sand4rt 842dec334d
docs(ct): general improvements (#17923) 2022-10-08 18:56:54 +03:00
Gustav Ahlberg aad0fd9bdf
docs(class-testconfig): update since version for fullyParallel (#17916) 2022-10-08 09:03:01 +03:00
Yury Semikhatsky 946994ca92
docs: AriaRole is enum (#17918) 2022-10-08 09:01:14 +03:00
Yury Semikhatsky 639b28db3b
fix: noWaitAfter option for hover (#17856)
Fixes https://github.com/microsoft/playwright/issues/17833
2022-10-07 12:43:48 -07:00
Yury Semikhatsky b140b29df0
docs: clarify routeFromHAR.update semantics (#17887) 2022-10-07 11:27:25 -07:00
Dmitry Gozman df4498e7ee
docs: mention that exact option is ignored for regex (#17912) 2022-10-07 10:19:13 -07:00
Debbie O'Brien c8487624dc
docs: improve trace viewer + add video (#17907) 2022-10-07 09:51:16 -07:00
Dmitry Gozman 43208da3f8
docs: v1.27 release notes for python, java and dotnet (#17886) 2022-10-06 12:51:56 -07:00
Pavel Feldman eb4baf76bf
feat(api): make aria roles an enum (#17885) 2022-10-06 11:34:22 -07:00
sand4rt 8d078cc87a
docs(ct): solid and typo (#17769) 2022-10-06 08:25:16 -07:00
Dmitry Gozman ed6ecbca2a
chore: cut v1.27.0 (#17859) 2022-10-05 15:30:35 -07:00
Dmitry Gozman cdeb9e3066
docs: release notes for v1.27 (#17858) 2022-10-05 14:24:24 -07:00
Dmitry Gozman 6750a02506
fix(api): hide TestConfig.groups (#17853)
Also fix types for `FullConfig.configFile`.
2022-10-05 14:24:14 -07:00
Dmitry Gozman 30179d4d78
fix(tsconfig): remove TS_NODE envs, update docs (#17847)
References #17469.
2022-10-05 12:51:12 -07:00
Pavel Feldman 8810b55504
feat(api): shorted getByLabel, getByPlaceholder (#17816) 2022-10-04 10:29:26 -07:00