intellitester 0.2.52 → 0.2.54
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 +145 -0
- package/dist/{chunk-ZXCFOTWX.cjs → chunk-5NKXR4UV.cjs} +5 -4
- package/dist/chunk-5NKXR4UV.cjs.map +1 -0
- package/dist/{chunk-PGOHFXEG.js → chunk-DTBJKSDR.js} +5 -4
- package/dist/chunk-DTBJKSDR.js.map +1 -0
- package/dist/cli/index.cjs +198 -21
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +180 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +11 -11
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-PGOHFXEG.js.map +0 -1
- package/dist/chunk-ZXCFOTWX.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -398,3 +398,148 @@ All workflows in a pipeline share the same browser context, preserving:
|
|
|
398
398
|
- Cookies and session storage
|
|
399
399
|
- Authentication state
|
|
400
400
|
- Local storage data
|
|
401
|
+
|
|
402
|
+
## Responsive Testing (Viewport Sizes)
|
|
403
|
+
|
|
404
|
+
IntelliTester can run tests across multiple viewport sizes to ensure your application works correctly on different devices.
|
|
405
|
+
|
|
406
|
+
### Named Sizes
|
|
407
|
+
|
|
408
|
+
Use Tailwind-style breakpoint names:
|
|
409
|
+
|
|
410
|
+
| Size | Width | Height | Device Type |
|
|
411
|
+
|------|-------|--------|-------------|
|
|
412
|
+
| `xs` | 320 | 568 | Mobile portrait |
|
|
413
|
+
| `sm` | 640 | 800 | Small tablet |
|
|
414
|
+
| `md` | 768 | 1024 | Tablet |
|
|
415
|
+
| `lg` | 1024 | 768 | Desktop |
|
|
416
|
+
| `xl` | 1280 | 720 | Large desktop |
|
|
417
|
+
|
|
418
|
+
### Custom Sizes
|
|
419
|
+
|
|
420
|
+
Use `WIDTHxHEIGHT` format for custom dimensions:
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
intellitester run tests/ --test-sizes 1920x1080,375x812,414x896
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### CLI Usage
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Run tests at all breakpoints
|
|
430
|
+
intellitester run tests/ --test-sizes xs,sm,md,lg,xl
|
|
431
|
+
|
|
432
|
+
# Run at specific sizes
|
|
433
|
+
intellitester run app.workflow.yaml --test-sizes xs,md,xl
|
|
434
|
+
|
|
435
|
+
# Mix named and custom sizes
|
|
436
|
+
intellitester run tests/ --test-sizes xs,1920x1080
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### YAML Configuration
|
|
440
|
+
|
|
441
|
+
**Workflow-level:**
|
|
442
|
+
|
|
443
|
+
```yaml
|
|
444
|
+
name: Responsive Tests
|
|
445
|
+
platform: web
|
|
446
|
+
config:
|
|
447
|
+
web:
|
|
448
|
+
baseUrl: http://localhost:3000
|
|
449
|
+
testSizes: ['xs', 'sm', 'md', 'lg', 'xl']
|
|
450
|
+
tests:
|
|
451
|
+
- file: ./homepage.test.yaml
|
|
452
|
+
- file: ./navigation.test.yaml
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Pipeline-level:**
|
|
456
|
+
|
|
457
|
+
```yaml
|
|
458
|
+
name: Full Responsive Suite
|
|
459
|
+
platform: web
|
|
460
|
+
config:
|
|
461
|
+
web:
|
|
462
|
+
testSizes: ['xs', 'md', 'xl']
|
|
463
|
+
workflows:
|
|
464
|
+
- file: ./auth.workflow.yaml
|
|
465
|
+
- file: ./dashboard.workflow.yaml
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### Behavior
|
|
469
|
+
|
|
470
|
+
- Tests run once per specified viewport size
|
|
471
|
+
- Results are prefixed with size when multiple sizes are tested: `[xs] test.yaml`, `[md] test.yaml`
|
|
472
|
+
- Browser session (cookies, authentication state) is preserved across sizes
|
|
473
|
+
- Browser context is recreated for each size with new viewport dimensions
|
|
474
|
+
|
|
475
|
+
## Configuration Inheritance
|
|
476
|
+
|
|
477
|
+
IntelliTester uses a cascading configuration system. Lower-level configuration takes precedence over higher levels.
|
|
478
|
+
|
|
479
|
+
### Priority Order
|
|
480
|
+
|
|
481
|
+
```
|
|
482
|
+
Test Config > Workflow Config > Pipeline Config > Global Config > Defaults
|
|
483
|
+
↑ ↑ ↑ ↑ ↑
|
|
484
|
+
Highest Lowest
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Configuration Levels
|
|
488
|
+
|
|
489
|
+
**1. Global Config (`intellitester.yaml`):**
|
|
490
|
+
|
|
491
|
+
```yaml
|
|
492
|
+
defaults:
|
|
493
|
+
timeout: 30000
|
|
494
|
+
screenshots: on-failure
|
|
495
|
+
|
|
496
|
+
platforms:
|
|
497
|
+
web:
|
|
498
|
+
baseUrl: http://localhost:3000
|
|
499
|
+
headless: true
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
**2. Pipeline Config (`.pipeline.yaml`):**
|
|
503
|
+
|
|
504
|
+
```yaml
|
|
505
|
+
config:
|
|
506
|
+
web:
|
|
507
|
+
headless: false # Overrides global
|
|
508
|
+
testSizes: ['xs', 'md', 'xl']
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
**3. Workflow Config (`.workflow.yaml`):**
|
|
512
|
+
|
|
513
|
+
```yaml
|
|
514
|
+
config:
|
|
515
|
+
web:
|
|
516
|
+
baseUrl: http://localhost:4000 # Overrides pipeline/global
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
**4. Test Config (`.test.yaml`):**
|
|
520
|
+
|
|
521
|
+
```yaml
|
|
522
|
+
config:
|
|
523
|
+
defaults:
|
|
524
|
+
timeout: 60000 # Overrides for this test only
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
### Configuration Options
|
|
528
|
+
|
|
529
|
+
| Setting | Test | Workflow | Pipeline | Global |
|
|
530
|
+
|---------|------|----------|----------|--------|
|
|
531
|
+
| `baseUrl` | Yes | Yes | Yes | Yes |
|
|
532
|
+
| `browser` | Yes | Yes | Yes | Yes |
|
|
533
|
+
| `headless` | Yes | Yes | Yes | Yes |
|
|
534
|
+
| `timeout` | Yes | Yes | Yes | Yes |
|
|
535
|
+
| `testSizes` | - | Yes | Yes | - |
|
|
536
|
+
| `webServer` | - | Yes | Yes | Yes |
|
|
537
|
+
| `appwrite` | Yes | Yes | Yes | Yes |
|
|
538
|
+
| `cleanup` | Yes | Yes | Yes | Yes |
|
|
539
|
+
| `email` | Yes | Yes | Yes | Yes |
|
|
540
|
+
|
|
541
|
+
### Important Notes
|
|
542
|
+
|
|
543
|
+
- Configuration uses **simple override**, not deep merge
|
|
544
|
+
- CLI flags (e.g., `--headed`, `--test-sizes`) override all YAML configuration
|
|
545
|
+
- Environment variables (`${VAR_NAME}`) are resolved at load time
|
|
@@ -1217,11 +1217,12 @@ function detectFramework(pkg) {
|
|
|
1217
1217
|
}
|
|
1218
1218
|
async function detectPackageManager(cwd) {
|
|
1219
1219
|
const hasDenoLock = await fs__namespace.stat(path4__namespace.join(cwd, "deno.lock")).catch(() => null);
|
|
1220
|
-
const
|
|
1220
|
+
const hasBunLockb = await fs__namespace.stat(path4__namespace.join(cwd, "bun.lockb")).catch(() => null);
|
|
1221
|
+
const hasBunLock = await fs__namespace.stat(path4__namespace.join(cwd, "bun.lock")).catch(() => null);
|
|
1221
1222
|
const hasPnpmLock = await fs__namespace.stat(path4__namespace.join(cwd, "pnpm-lock.yaml")).catch(() => null);
|
|
1222
1223
|
const hasYarnLock = await fs__namespace.stat(path4__namespace.join(cwd, "yarn.lock")).catch(() => null);
|
|
1223
1224
|
if (hasDenoLock) return "deno";
|
|
1224
|
-
if (hasBunLock) return "bun";
|
|
1225
|
+
if (hasBunLockb || hasBunLock) return "bun";
|
|
1225
1226
|
if (hasPnpmLock) return "pnpm";
|
|
1226
1227
|
if (hasYarnLock) return "yarn";
|
|
1227
1228
|
return "npm";
|
|
@@ -3838,5 +3839,5 @@ exports.runWorkflowWithContext = runWorkflowWithContext;
|
|
|
3838
3839
|
exports.setupAppwriteTracking = setupAppwriteTracking;
|
|
3839
3840
|
exports.startTrackingServer = startTrackingServer;
|
|
3840
3841
|
exports.webServerManager = webServerManager;
|
|
3841
|
-
//# sourceMappingURL=chunk-
|
|
3842
|
-
//# sourceMappingURL=chunk-
|
|
3842
|
+
//# sourceMappingURL=chunk-5NKXR4UV.cjs.map
|
|
3843
|
+
//# sourceMappingURL=chunk-5NKXR4UV.cjs.map
|