@atomic-testing/playwright 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,27 +1,27 @@
1
- import { ClickOption, CssProperty, EnterTextOption, Interactor, LocatorChain, Optional } from '@atomic-testing/core';
1
+ import { ClickOption, CssProperty, EnterTextOption, Interactor, Optional, PartLocator } from '@atomic-testing/core';
2
2
  import { Page } from '@playwright/test';
3
3
  export declare class PlaywrightInteractor implements Interactor {
4
4
  readonly page: Page;
5
5
  constructor(page: Page);
6
- selectOptionValue(locator: LocatorChain, values: string[]): Promise<void>;
7
- getInputValue(locator: LocatorChain): Promise<Optional<string>>;
8
- getSelectValues(locator: LocatorChain): Promise<Optional<readonly string[]>>;
9
- getSelectLabels(locator: LocatorChain): Promise<Optional<readonly string[]>>;
10
- getStyleValue(locator: LocatorChain, propertyName: CssProperty): Promise<Optional<string>>;
11
- enterText(locator: LocatorChain, text: string, option?: Optional<Partial<EnterTextOption>>): Promise<void>;
12
- click(locator: LocatorChain, option?: ClickOption): Promise<void>;
13
- hover(locator: LocatorChain): Promise<void>;
6
+ selectOptionValue(locator: PartLocator, values: string[]): Promise<void>;
7
+ getInputValue(locator: PartLocator): Promise<Optional<string>>;
8
+ getSelectValues(locator: PartLocator): Promise<Optional<readonly string[]>>;
9
+ getSelectLabels(locator: PartLocator): Promise<Optional<readonly string[]>>;
10
+ getStyleValue(locator: PartLocator, propertyName: CssProperty): Promise<Optional<string>>;
11
+ enterText(locator: PartLocator, text: string, option?: Optional<Partial<EnterTextOption>>): Promise<void>;
12
+ click(locator: PartLocator, option?: ClickOption): Promise<void>;
13
+ hover(locator: PartLocator): Promise<void>;
14
14
  wait(ms: number): Promise<void>;
15
- getAttribute(locator: LocatorChain, name: string, isMultiple: true): Promise<readonly string[]>;
16
- getAttribute(locator: LocatorChain, name: string, isMultiple: false): Promise<Optional<string>>;
17
- getAttribute(locator: LocatorChain, name: string): Promise<Optional<string>>;
18
- getText(locator: LocatorChain): Promise<Optional<string>>;
19
- exists(locator: LocatorChain): Promise<boolean>;
20
- isChecked(locator: LocatorChain): Promise<boolean>;
21
- isDisabled(locator: LocatorChain): Promise<boolean>;
22
- isReadonly(locator: LocatorChain): Promise<boolean>;
23
- isVisible(locator: LocatorChain): Promise<boolean>;
24
- hasCssClass(locator: LocatorChain, className: string): Promise<boolean>;
25
- hasAttribute(locator: LocatorChain, name: string): Promise<boolean>;
15
+ getAttribute(locator: PartLocator, name: string, isMultiple: true): Promise<readonly string[]>;
16
+ getAttribute(locator: PartLocator, name: string, isMultiple: false): Promise<Optional<string>>;
17
+ getAttribute(locator: PartLocator, name: string): Promise<Optional<string>>;
18
+ getText(locator: PartLocator): Promise<Optional<string>>;
19
+ exists(locator: PartLocator): Promise<boolean>;
20
+ isChecked(locator: PartLocator): Promise<boolean>;
21
+ isDisabled(locator: PartLocator): Promise<boolean>;
22
+ isReadonly(locator: PartLocator): Promise<boolean>;
23
+ isVisible(locator: PartLocator): Promise<boolean>;
24
+ hasCssClass(locator: PartLocator, className: string): Promise<boolean>;
25
+ hasAttribute(locator: PartLocator, name: string): Promise<boolean>;
26
26
  clone(): Interactor;
27
27
  }
@@ -29,10 +29,7 @@ class PlaywrightInteractor {
29
29
  }
30
30
  getSelectValues(locator) {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
- const optionLocator = {
33
- type: core_1.LocatorType.Css,
34
- selector: 'option:checked',
35
- };
32
+ const optionLocator = (0, core_1.byCssSelector)('option:checked');
36
33
  const selectedOptionLocator = core_1.locatorUtil.append(locator, optionLocator);
37
34
  const cssLocator = core_1.locatorUtil.toCssSelector(selectedOptionLocator);
38
35
  const allOptions = yield this.page.locator(cssLocator).all();
@@ -48,10 +45,7 @@ class PlaywrightInteractor {
48
45
  }
49
46
  getSelectLabels(locator) {
50
47
  return __awaiter(this, void 0, void 0, function* () {
51
- const optionLocator = {
52
- type: core_1.LocatorType.Css,
53
- selector: 'option:checked',
54
- };
48
+ const optionLocator = (0, core_1.byCssSelector)('option:checked');
55
49
  const selectedOptionLocator = core_1.locatorUtil.append(locator, optionLocator);
56
50
  const cssLocator = core_1.locatorUtil.toCssSelector(selectedOptionLocator);
57
51
  const allOptions = yield this.page.locator(cssLocator).all();
@@ -1 +1 @@
1
- {"version":3,"file":"PlaywrightInteractor.js","sourceRoot":"","sources":["../src/PlaywrightInteractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaywrightInteractor.js","sourceRoot":"","sources":["../src/PlaywrightInteractor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomic-testing/playwright",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "Atomic Testing Playwright Adapter",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -15,8 +15,8 @@
15
15
  "url": "https://github.com/atomic-testing/atomic-testing.git"
16
16
  },
17
17
  "dependencies": {
18
- "@atomic-testing/core": "0.26.0",
19
- "@atomic-testing/test-runner": "0.26.0"
18
+ "@atomic-testing/core": "0.28.0",
19
+ "@atomic-testing/test-runner": "0.28.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@playwright/test": "^1.32.1",
@@ -1,13 +1,12 @@
1
1
  import {
2
+ byCssSelector,
2
3
  ClickOption,
3
4
  CssProperty,
4
5
  EnterTextOption,
5
6
  Interactor,
6
- LocatorChain,
7
- LocatorType,
8
7
  locatorUtil,
9
8
  Optional,
10
- PartLocatorType,
9
+ PartLocator,
11
10
  timingUtil,
12
11
  } from '@atomic-testing/core';
13
12
  import { Page } from '@playwright/test';
@@ -15,21 +14,18 @@ import { Page } from '@playwright/test';
15
14
  export class PlaywrightInteractor implements Interactor {
16
15
  constructor(public readonly page: Page) {}
17
16
 
18
- async selectOptionValue(locator: LocatorChain, values: string[]): Promise<void> {
17
+ async selectOptionValue(locator: PartLocator, values: string[]): Promise<void> {
19
18
  const cssLocator = locatorUtil.toCssSelector(locator);
20
19
  await this.page.locator(cssLocator).selectOption(values);
21
20
  }
22
21
 
23
- async getInputValue(locator: LocatorChain): Promise<Optional<string>> {
22
+ async getInputValue(locator: PartLocator): Promise<Optional<string>> {
24
23
  const cssLocator = locatorUtil.toCssSelector(locator);
25
24
  return this.page.locator(cssLocator).inputValue();
26
25
  }
27
26
 
28
- async getSelectValues(locator: LocatorChain): Promise<Optional<readonly string[]>> {
29
- const optionLocator: PartLocatorType = {
30
- type: LocatorType.Css,
31
- selector: 'option:checked',
32
- };
27
+ async getSelectValues(locator: PartLocator): Promise<Optional<readonly string[]>> {
28
+ const optionLocator: PartLocator = byCssSelector('option:checked');
33
29
  const selectedOptionLocator = locatorUtil.append(locator, optionLocator);
34
30
  const cssLocator = locatorUtil.toCssSelector(selectedOptionLocator);
35
31
  const allOptions = await this.page.locator(cssLocator).all();
@@ -43,11 +39,8 @@ export class PlaywrightInteractor implements Interactor {
43
39
  return values;
44
40
  }
45
41
 
46
- async getSelectLabels(locator: LocatorChain): Promise<Optional<readonly string[]>> {
47
- const optionLocator: PartLocatorType = {
48
- type: LocatorType.Css,
49
- selector: 'option:checked',
50
- };
42
+ async getSelectLabels(locator: PartLocator): Promise<Optional<readonly string[]>> {
43
+ const optionLocator: PartLocator = byCssSelector('option:checked');
51
44
  const selectedOptionLocator = locatorUtil.append(locator, optionLocator);
52
45
  const cssLocator = locatorUtil.toCssSelector(selectedOptionLocator);
53
46
  const allOptions = await this.page.locator(cssLocator).all();
@@ -61,7 +54,7 @@ export class PlaywrightInteractor implements Interactor {
61
54
  return labels;
62
55
  }
63
56
 
64
- async getStyleValue(locator: LocatorChain, propertyName: CssProperty): Promise<Optional<string>> {
57
+ async getStyleValue(locator: PartLocator, propertyName: CssProperty): Promise<Optional<string>> {
65
58
  const cssLocator = locatorUtil.toCssSelector(locator);
66
59
  const elLocator = this.page.locator(cssLocator);
67
60
  const value = await elLocator.evaluate((element, prop) => {
@@ -70,7 +63,7 @@ export class PlaywrightInteractor implements Interactor {
70
63
  return value;
71
64
  }
72
65
 
73
- async enterText(locator: LocatorChain, text: string, option?: Optional<Partial<EnterTextOption>>): Promise<void> {
66
+ async enterText(locator: PartLocator, text: string, option?: Optional<Partial<EnterTextOption>>): Promise<void> {
74
67
  const cssLocator = locatorUtil.toCssSelector(locator);
75
68
  if (!option?.append) {
76
69
  await this.page.locator(cssLocator).clear();
@@ -78,12 +71,12 @@ export class PlaywrightInteractor implements Interactor {
78
71
  await this.page.locator(cssLocator).type(text);
79
72
  }
80
73
 
81
- async click(locator: LocatorChain, option?: ClickOption): Promise<void> {
74
+ async click(locator: PartLocator, option?: ClickOption): Promise<void> {
82
75
  const cssLocator = locatorUtil.toCssSelector(locator);
83
76
  await this.page.locator(cssLocator).click();
84
77
  }
85
78
 
86
- async hover(locator: LocatorChain): Promise<void> {
79
+ async hover(locator: PartLocator): Promise<void> {
87
80
  const cssLocator = locatorUtil.toCssSelector(locator);
88
81
  await this.page.locator(cssLocator).hover();
89
82
  }
@@ -92,11 +85,11 @@ export class PlaywrightInteractor implements Interactor {
92
85
  return timingUtil.wait(ms);
93
86
  }
94
87
 
95
- async getAttribute(locator: LocatorChain, name: string, isMultiple: true): Promise<readonly string[]>;
96
- async getAttribute(locator: LocatorChain, name: string, isMultiple: false): Promise<Optional<string>>;
97
- async getAttribute(locator: LocatorChain, name: string): Promise<Optional<string>>;
88
+ async getAttribute(locator: PartLocator, name: string, isMultiple: true): Promise<readonly string[]>;
89
+ async getAttribute(locator: PartLocator, name: string, isMultiple: false): Promise<Optional<string>>;
90
+ async getAttribute(locator: PartLocator, name: string): Promise<Optional<string>>;
98
91
  async getAttribute(
99
- locator: LocatorChain,
92
+ locator: PartLocator,
100
93
  name: string,
101
94
  isMultiple?: boolean,
102
95
  ): Promise<Optional<string> | readonly string[]> {
@@ -117,36 +110,36 @@ export class PlaywrightInteractor implements Interactor {
117
110
  return value ?? undefined;
118
111
  }
119
112
 
120
- async getText(locator: LocatorChain): Promise<Optional<string>> {
113
+ async getText(locator: PartLocator): Promise<Optional<string>> {
121
114
  const cssLocator = locatorUtil.toCssSelector(locator);
122
115
  const text = await this.page.locator(cssLocator).textContent();
123
116
  return text ?? undefined;
124
117
  }
125
118
 
126
- async exists(locator: LocatorChain): Promise<boolean> {
119
+ async exists(locator: PartLocator): Promise<boolean> {
127
120
  const cssLocator = locatorUtil.toCssSelector(locator);
128
121
  const count = await this.page.locator(cssLocator).count();
129
122
  return count > 0;
130
123
  }
131
124
 
132
- async isChecked(locator: LocatorChain): Promise<boolean> {
125
+ async isChecked(locator: PartLocator): Promise<boolean> {
133
126
  const cssLocator = locatorUtil.toCssSelector(locator);
134
127
  const checked = await this.page.locator(cssLocator).isChecked();
135
128
  return checked;
136
129
  }
137
130
 
138
- async isDisabled(locator: LocatorChain): Promise<boolean> {
131
+ async isDisabled(locator: PartLocator): Promise<boolean> {
139
132
  const cssLocator = locatorUtil.toCssSelector(locator);
140
133
  const isDisabled = await this.page.locator(cssLocator).isDisabled();
141
134
  return isDisabled;
142
135
  }
143
136
 
144
- async isReadonly(locator: LocatorChain): Promise<boolean> {
137
+ async isReadonly(locator: PartLocator): Promise<boolean> {
145
138
  const readonly = await this.getAttribute(locator, 'readonly');
146
139
  return readonly != null;
147
140
  }
148
141
 
149
- async isVisible(locator: LocatorChain): Promise<boolean> {
142
+ async isVisible(locator: PartLocator): Promise<boolean> {
150
143
  const exists = await this.exists(locator);
151
144
  if (!exists) {
152
145
  return false;
@@ -170,7 +163,7 @@ export class PlaywrightInteractor implements Interactor {
170
163
  return true;
171
164
  }
172
165
 
173
- async hasCssClass(locator: LocatorChain, className: string): Promise<boolean> {
166
+ async hasCssClass(locator: PartLocator, className: string): Promise<boolean> {
174
167
  const classNames = await this.getAttribute(locator, 'class');
175
168
  if (classNames == null) {
176
169
  return false;
@@ -180,7 +173,7 @@ export class PlaywrightInteractor implements Interactor {
180
173
  return names.includes(className);
181
174
  }
182
175
 
183
- async hasAttribute(locator: LocatorChain, name: string): Promise<boolean> {
176
+ async hasAttribute(locator: PartLocator, name: string): Promise<boolean> {
184
177
  const attrValue = await this.getAttribute(locator, name);
185
178
  return attrValue != null;
186
179
  }