@samsara-dev/appwright 0.7.3 → 0.7.4
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.
- package/.prettierrc +4 -0
- package/CHANGELOG.md +6 -0
- package/dist/providers/awsDeviceFarm/index.d.ts.map +1 -1
- package/dist/providers/awsDeviceFarm/index.js +4 -2
- package/dist/providers/browserstack/index.d.ts.map +1 -1
- package/dist/providers/browserstack/index.js +8 -5
- package/dist/providers/lambdatest/index.d.ts.map +1 -1
- package/dist/providers/lambdatest/index.js +8 -5
- package/package.json +10 -9
package/.prettierrc
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/awsDeviceFarm/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+BtC,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAGhC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAwD3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA4D5B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,iBAAiB;YASX,iBAAiB;YA6CjB,uBAAuB;YAmCvB,mBAAmB;YAgCnB,oBAAoB;IA0ClC,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;YA8CX,UAAU;WA4CX,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/awsDeviceFarm/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+BtC,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAGhC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAwD3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA4D5B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,iBAAiB;YASX,iBAAiB;YA6CjB,uBAAuB;YAmCvB,mBAAmB;YAgCnB,oBAAoB;IA0ClC,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;YA8CX,UAAU;WA4CX,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;mBAiFnC,iBAAiB;mBA6BjB,wBAAwB;IAwB7C,OAAO,CAAC,MAAM,CAAC,oBAAoB;YAQrB,iBAAiB;CAgBhC"}
|
|
@@ -357,15 +357,17 @@ class AWSDeviceFarmProvider {
|
|
|
357
357
|
minTimeout: 5_000,
|
|
358
358
|
maxTimeout: 15_000,
|
|
359
359
|
onRetry: (error, attempt) => {
|
|
360
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
360
361
|
if (attempt > 3) {
|
|
361
|
-
logger_1.logger.warn(`AWS Device Farm: retrying video download (attempt ${attempt}): ${
|
|
362
|
+
logger_1.logger.warn(`AWS Device Farm: retrying video download (attempt ${attempt}): ${message}`);
|
|
362
363
|
}
|
|
363
364
|
},
|
|
364
365
|
});
|
|
365
366
|
return downloadResult;
|
|
366
367
|
}
|
|
367
368
|
catch (error) {
|
|
368
|
-
|
|
369
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
370
|
+
logger_1.logger.error(`AWS Device Farm: Failed to download video. ${message}`, error);
|
|
369
371
|
return null;
|
|
370
372
|
}
|
|
371
373
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/browserstack/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsDtC,qBAAa,0BAA2B,YAAW,cAAc;IAC/D,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,OAAO,CAA+B;gBAG5C,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU3B,WAAW;IA0EX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;YAiBZ,iBAAiB;YAKjB,yBAAyB;WAK1B,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/browserstack/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAsDtC,qBAAa,0BAA2B,YAAW,cAAc;IAC/D,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,OAAO,CAA+B;gBAG5C,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IAU3B,WAAW;IA0EX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;YAiBZ,iBAAiB;YAKjB,yBAAyB;WAK1B,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA0FlD,eAAe,CAAC,OAAO,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IA2BD,OAAO,CAAC,YAAY;CAsJrB"}
|
|
@@ -184,8 +184,9 @@ class BrowserStackDeviceProvider {
|
|
|
184
184
|
retries: 10,
|
|
185
185
|
minTimeout: 3_000,
|
|
186
186
|
onRetry: (err, i) => {
|
|
187
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
187
188
|
if (i > 5) {
|
|
188
|
-
logger_1.logger.warn(`Retry attempt ${i} failed: ${
|
|
189
|
+
logger_1.logger.warn(`Retry attempt ${i} failed: ${message}`);
|
|
189
190
|
}
|
|
190
191
|
},
|
|
191
192
|
});
|
|
@@ -198,13 +199,15 @@ class BrowserStackDeviceProvider {
|
|
|
198
199
|
resolve({ path: pathToTestVideo, contentType: "video/mp4" });
|
|
199
200
|
}
|
|
200
201
|
catch (err) {
|
|
201
|
-
|
|
202
|
-
|
|
202
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
203
|
+
logger_1.logger.error(`Failed to rename file: ${message}`, err);
|
|
204
|
+
reject(err instanceof Error ? err : new Error(message));
|
|
203
205
|
}
|
|
204
206
|
});
|
|
205
207
|
fileStream.on("error", (err) => {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
209
|
+
logger_1.logger.error(`Failed to write file: ${message}`, err);
|
|
210
|
+
reject(err instanceof Error ? err : new Error(message));
|
|
208
211
|
});
|
|
209
212
|
});
|
|
210
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/lambdatest/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAwDtC,qBAAa,wBAAyB,YAAW,cAAc;IAM3D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,WAAW,CAAgC;gBAGzC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IASnC,WAAW;IA8DX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;WAgBb,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/lambdatest/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAwDtC,qBAAa,wBAAyB,YAAW,cAAc;IAM3D,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,cAAc,CAAC,CAA2B;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,WAAW,CAAgC;gBAGzC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,EACrC,WAAW,EAAE,MAAM,GAAG,SAAS;IASnC,WAAW;IA8DX,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAMlC,OAAO,CAAC,cAAc;YASR,YAAY;WAgBb,aAAa,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgFlD,eAAe,CAAC,OAAO,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IA0BD,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,YAAY;CA8CrB"}
|
|
@@ -160,8 +160,9 @@ class LambdaTestDeviceProvider {
|
|
|
160
160
|
retries: 10,
|
|
161
161
|
minTimeout: 3_000,
|
|
162
162
|
onRetry: (err, i) => {
|
|
163
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
163
164
|
if (i > 5) {
|
|
164
|
-
logger_1.logger.warn(`Retry attempt ${i} failed: ${
|
|
165
|
+
logger_1.logger.warn(`Retry attempt ${i} failed: ${message}`);
|
|
165
166
|
}
|
|
166
167
|
},
|
|
167
168
|
});
|
|
@@ -174,13 +175,15 @@ class LambdaTestDeviceProvider {
|
|
|
174
175
|
resolve({ path: pathToTestVideo, contentType: "video/mp4" });
|
|
175
176
|
}
|
|
176
177
|
catch (err) {
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
179
|
+
logger_1.logger.error(`Failed to rename file: ${message}`, err);
|
|
180
|
+
reject(err instanceof Error ? err : new Error(message));
|
|
179
181
|
}
|
|
180
182
|
});
|
|
181
183
|
fileStream.on("error", (err) => {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
185
|
+
logger_1.logger.error(`Failed to write file: ${message}`, err);
|
|
186
|
+
reject(err instanceof Error ? err : new Error(message));
|
|
184
187
|
});
|
|
185
188
|
});
|
|
186
189
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@samsara-dev/appwright",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "public"
|
|
@@ -37,28 +37,29 @@
|
|
|
37
37
|
"description": "E2E mobile app testing done right, with the Playwright test runner",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@aws-sdk/client-device-farm": "^3.635.0",
|
|
40
|
-
"@aws-sdk/client-s3": "^3.
|
|
40
|
+
"@aws-sdk/client-s3": "^3.958.0",
|
|
41
41
|
"@aws-sdk/client-sts": "^3.635.0",
|
|
42
42
|
"@empiricalrun/llm": "^0.9.25",
|
|
43
43
|
"@ffmpeg-installer/ffmpeg": "^1.1.0",
|
|
44
|
-
"@playwright/test": "^1.
|
|
45
|
-
"appium": "^3.1.
|
|
44
|
+
"@playwright/test": "^1.57.0",
|
|
45
|
+
"appium": "^3.1.2",
|
|
46
46
|
"appium-uiautomator2-driver": "^5.0.7",
|
|
47
|
-
"appium-xcuitest-driver": "^10.
|
|
47
|
+
"appium-xcuitest-driver": "^10.13.2",
|
|
48
48
|
"async-retry": "^1.3.3",
|
|
49
49
|
"fluent-ffmpeg": "^2.1.3",
|
|
50
|
-
"form-data": "4.0.
|
|
50
|
+
"form-data": "4.0.5",
|
|
51
51
|
"node-fetch": "^3.3.2",
|
|
52
52
|
"picocolors": "^1.1.0",
|
|
53
53
|
"webdriver": "^8.36.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@changesets/cli": "^2.
|
|
56
|
+
"@changesets/cli": "^2.29.8",
|
|
57
57
|
"@empiricalrun/eslint-config": "^0.4.1",
|
|
58
58
|
"@empiricalrun/typescript-config": "^0.3.0",
|
|
59
|
-
"@types/async-retry": "^1.4.
|
|
60
|
-
"@types/fluent-ffmpeg": "^2.1.
|
|
59
|
+
"@types/async-retry": "^1.4.9",
|
|
60
|
+
"@types/fluent-ffmpeg": "^2.1.28",
|
|
61
61
|
"@types/node": "^22.5.2",
|
|
62
|
+
"@eslint/js": "^8.57.0",
|
|
62
63
|
"eslint": "8.57.0",
|
|
63
64
|
"typedoc": "0.26.7",
|
|
64
65
|
"vitest": "^2.1.3"
|