915 Commits

Author SHA1 Message Date
Max Schmitt
30debb5110
docs(python): expand assertion List types (#18975)
The following was before:

```txt
typing.Union[
    typing.List[typing.Union[typing.Pattern[str], str]],
    typing.Pattern[str],
    str,
]
```

but it should be:

```txt
typing.Union[
    typing.List[typing.Pattern[str]],
    typing.List[str],
    typing.List[typing.Union[typing.Pattern[str], str]],
    typing.Pattern[str],
    str,
]
```

Otherwise mypy yells at us.

See https://github.com/microsoft/playwright-python/issues/1524
2022-11-23 11:32:16 -10:00
Pavel Feldman
f9a32e0927
chore: follow up to deprecation changes (#19025) 2022-11-23 12:32:14 -08:00
Pavel Feldman
f97dcd4c79
docs: annotate deprecated methods (#19005) 2022-11-23 08:40:47 -08:00
Dmitry Gozman
d6ab1a90bf
docs: fix typos in some snippets (#18966)
Fixes #18898.
2022-11-21 10:47:38 -08:00
Pavel Feldman
620e8547d4
chore: generate usage: sections based on snippets (#18965) 2022-11-21 10:40:21 -08:00
Pavel Feldman
3fb4b3bbf9
chore: normalize api markdown (#18942) 2022-11-21 09:30:32 -08:00
Max Schmitt
c2e3704f86
docs(dotnet): wrong AddInitScriptAsync snippet (#18893)
Fixes https://github.com/microsoft/playwright-dotnet/issues/2399
2022-11-17 10:58:49 -10: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
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
251cc9e229
chore: fix docs (#18751) 2022-11-11 13:44:40 -08: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
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
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
Kazuya Takei
05471df8bb
docs(python): remove not-needed semicolons from code snippets (#18589) 2022-11-07 08:28:07 -08:00
Max Schmitt
245260b365
docs(python): Page.emulateMedia.media "null" value follow-up (#18555)
Follow-up of 91f7e3963dfd647ad23bdef2da7dc22279c79ca0.
2022-11-03 17:50:32 -07:00
Max Schmitt
91f7e3963d
docs(python): have enum value to reset emulated media (#18550) 2022-11-03 12:38:02 -07:00
Pavel Feldman
a7f5f2d7a1
chore: allow not overriding media when creating context (#18413) 2022-10-31 09:09:52 -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
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
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
329b3eadb4
feat: locator.blur() (#18303)
Note this is only available on Locator. Fixes #10724.
2022-10-25 06:10:40 -07: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
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
Max Schmitt
e986e88c55
docs: fix wrong getByLabelText example (#18036) 2022-10-12 13:02:45 -07:00
Oliver Sand
6b01df6d92
fix: fix typo in treeitem role typing (#17952) 2022-10-10 20:57:55 +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
Pavel Feldman
eb4baf76bf
feat(api): make aria roles an enum (#17885) 2022-10-06 11:34:22 -07:00
Pavel Feldman
8810b55504
feat(api): shorted getByLabel, getByPlaceholder (#17816) 2022-10-04 10:29:26 -07:00
Dmitry Gozman
b07690f408
docs: use getBy... in documentation (#17795) 2022-10-03 17:02:46 -07:00
Han Yeong-woo
ce2ded1f7e
docs(assertions): fix wrong link (#17733) 2022-09-30 11:07:14 +02:00
Pavel Feldman
bfb8a43ece
feat(api): all getByTitle, getByAltText (#17724) 2022-09-29 21:45:44 -07:00
Pavel Feldman
083fb4401c
feat(api): add getByPlaceholderText (#17722) 2022-09-29 18:12:49 -07:00
Pavel Feldman
b4ee84fb0c
chore(api): remove locator.get() (#17709) 2022-09-29 12:50:52 -07:00
Pavel Feldman
e3a2316013
feat(api): add getByLabelText (#17684) 2022-09-29 11:06:58 -07:00
Pavel Feldman
d8f67eb75d
feat(api): introduce getByTestId (#17645) 2022-09-27 21:06:07 -07:00
Pavel Feldman
d9a28bd244
feat(api): introduce get/getByText/getByRole (#17577) 2022-09-27 16:13:56 -07:00
Pavel Feldman
bfd38bf7df
chore: introduce md templates (#17632) 2022-09-27 10:29:34 -07:00
Yusuke Iwaki
f5d7089819
fix: accept post data params for request.get and request.head (#17566) 2022-09-26 09:28:07 -07:00
Philip Langer
26150b7064
docs: fix typo persistet -> persisted (#17498) 2022-09-21 13:58:34 +02:00
Yury Semikhatsky
e62e84015c
docs(evaluate): clarify semantics of expression string (#17472) 2022-09-20 11:31:56 -07:00
Max Schmitt
ffbfacd732
docs: add code snippets for drag'n drop (#17390)
Fixes https://github.com/microsoft/playwright.dev/issues/775
2022-09-19 13:00:46 +02:00
Ross Wollman
8d639ae50e
chore: revert toHaveAttribute type sig and overloads (#17406)
Relates #16517.

Revert "docs(python): add missing NotToHaveAttribute overloads (#17371)"

This reverts commit 2e1ea296144c1d38f90815c02167a2e51f3b2b40.

Revert "docs(release-notes): add 1.26 release notes for language ports
(#17345)"

This reverts commit 4b8a85e69d2ded2089595ff24616eb381f59cff1.

Revert "test: unflake "should support boolean attribute with options"
(#17024)"

This reverts commit 1dc05bd4c60209542d35624d5f39b7a2a44cce3e.

Revert "fix: support toHaveAttribute(name, options) (#16941)"

This reverts commit f30ac1d67827fbcf3f8be7a851ef81b761842c52.

Revert "feat: expect(locator).toHaveAttribute to assert attribute
presence (#16767)"

This reverts commit 622c73cc1e677834ebdc27e95c89ff101bdccf54.
2022-09-16 11:17:35 -07:00
Ross Wollman
85a5c690a4
docs(python): add missing NotToBe{Visible,Editable,Enabled} params (#17381)
Follow up to:

- https://github.com/microsoft/playwright/pull/17058
- https://github.com/microsoft/playwright/pull/17065
- https://github.com/microsoft/playwright/pull/17207

Blocks https://github.com/microsoft/playwright-python/issues/1534.
2022-09-15 16:54:47 -07:00