prowl-tools 0.1.6 → 0.1.7
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/README.md +334 -183
- package/dist/{chunk-WHAMB4TY.js → chunk-O3OUTZ2P.js} +18 -2
- package/dist/{chunk-WHAMB4TY.js.map → chunk-O3OUTZ2P.js.map} +1 -1
- package/dist/{chunk-5KQR3IR3.js → chunk-R7NUH44M.js} +551 -107
- package/dist/chunk-R7NUH44M.js.map +1 -0
- package/dist/index.cjs +691 -165
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +108 -13
- package/dist/index.js.map +1 -1
- package/dist/lib.cjs +693 -220
- package/dist/lib.cjs.map +1 -1
- package/dist/lib.d.cts +164 -7
- package/dist/lib.d.ts +164 -7
- package/dist/lib.js +58 -4
- package/dist/{loader-PBBYV3U7.js → loader-X37URHUV.js} +2 -2
- package/examples/hunts/hello.yml +1 -1
- package/examples/hunts/login-flow.yml +58 -0
- package/package.json +6 -3
- package/dist/chunk-5KQR3IR3.js.map +0 -1
- /package/dist/{loader-PBBYV3U7.js.map → loader-X37URHUV.js.map} +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Login Flow
|
|
2
|
+
# ---
|
|
3
|
+
# Pattern: Authentication — email/password login with redirect verification
|
|
4
|
+
# What it tests: Fill credentials, submit, verify redirect to dashboard.
|
|
5
|
+
# Customize:
|
|
6
|
+
# - Update the selectors and URL paths to match your app's login page
|
|
7
|
+
# - Store credentials in .prowl/.env and reference them with {{VAR}}
|
|
8
|
+
#
|
|
9
|
+
# Tip: Use `prowl login` to capture auth state so other hunts can skip login.
|
|
10
|
+
|
|
11
|
+
name: login-flow
|
|
12
|
+
description: Log in with email and password, verify redirect to dashboard
|
|
13
|
+
|
|
14
|
+
tags:
|
|
15
|
+
- auth
|
|
16
|
+
- login
|
|
17
|
+
- credentials
|
|
18
|
+
|
|
19
|
+
# Store secrets in .prowl/.env — they'll be redacted in reports automatically.
|
|
20
|
+
# Example .env:
|
|
21
|
+
# TEST_EMAIL=user@example.com
|
|
22
|
+
# TEST_PASSWORD=secret123
|
|
23
|
+
vars:
|
|
24
|
+
EMAIL: "{{TEST_EMAIL}}"
|
|
25
|
+
PASSWORD: "{{TEST_PASSWORD}}"
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- navigate: "/login"
|
|
29
|
+
|
|
30
|
+
# Shorthand fill — Prowl finds the input by its label or placeholder text.
|
|
31
|
+
# Equivalent explicit form:
|
|
32
|
+
# fill:
|
|
33
|
+
# selector: "input[placeholder='Email']"
|
|
34
|
+
# value: "{{EMAIL}}"
|
|
35
|
+
- fill:
|
|
36
|
+
"Email": "{{EMAIL}}"
|
|
37
|
+
|
|
38
|
+
- fill:
|
|
39
|
+
"Password": "{{PASSWORD}}"
|
|
40
|
+
|
|
41
|
+
# Shorthand click — Prowl finds a button by its text content.
|
|
42
|
+
# Equivalent explicit form:
|
|
43
|
+
# click:
|
|
44
|
+
# selector: "button:has-text('Sign In')"
|
|
45
|
+
- click: "Sign In"
|
|
46
|
+
|
|
47
|
+
# Wait for navigation to complete after login
|
|
48
|
+
- waitForUrl:
|
|
49
|
+
value: "/dashboard"
|
|
50
|
+
timeout: 10000
|
|
51
|
+
|
|
52
|
+
# Mid-flow assertion — verify the dashboard loaded
|
|
53
|
+
- assert:
|
|
54
|
+
visible: "Dashboard"
|
|
55
|
+
|
|
56
|
+
assertions:
|
|
57
|
+
- urlIncludes: "/dashboard"
|
|
58
|
+
- noConsoleErrors: true
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prowl-tools",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "E2E testing for native macOS apps and web apps from declarative YAML hunts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"author": "Prowl Tools",
|
|
@@ -16,9 +16,12 @@
|
|
|
16
16
|
"keywords": [
|
|
17
17
|
"testing",
|
|
18
18
|
"qa",
|
|
19
|
+
"e2e",
|
|
20
|
+
"macos",
|
|
21
|
+
"desktop-testing",
|
|
22
|
+
"accessibility",
|
|
19
23
|
"playwright",
|
|
20
24
|
"yaml",
|
|
21
|
-
"e2e",
|
|
22
25
|
"browser-testing",
|
|
23
26
|
"automation",
|
|
24
27
|
"web-testing",
|