Skip to content

Commit 2d72156

Browse files
committed
browser fix tests
1 parent ffe1321 commit 2d72156

7 files changed

Lines changed: 24 additions & 16 deletions

File tree

src/browser.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,16 @@ export class SentienceBrowser {
2020
constructor(
2121
apiKey?: string,
2222
apiUrl?: string,
23-
headless: boolean = false
23+
headless?: boolean
2424
) {
2525
this._apiKey = apiKey;
26-
this.headless = headless;
26+
// Default to headless=True in CI (no X server), headless=False locally
27+
if (headless === undefined) {
28+
const ci = process.env.CI?.toLowerCase();
29+
this.headless = ci === 'true' || ci === '1' || ci === 'yes';
30+
} else {
31+
this.headless = headless;
32+
}
2733
// Only set apiUrl if apiKey is provided, otherwise undefined (free tier)
2834
// Default to https://api.sentienceapi.com if apiKey is provided but apiUrl is not
2935
if (apiKey) {

tests/generator.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { createTestBrowser } from './test-utils';
1010

1111
describe('ScriptGenerator', () => {
1212
it('should generate Python code', async () => {
13-
const browser = await createTestBrowser(false);
13+
const browser = await createTestBrowser();
1414

1515
try {
1616
await browser.getPage().goto('https://example.com');
@@ -37,7 +37,7 @@ describe('ScriptGenerator', () => {
3737
}, 60000); // 60 seconds - browser startup can be slow
3838

3939
it('should generate TypeScript code', async () => {
40-
const browser = await createTestBrowser(false);
40+
const browser = await createTestBrowser();
4141

4242
try {
4343
await browser.getPage().goto('https://example.com');
@@ -63,7 +63,7 @@ describe('ScriptGenerator', () => {
6363
}, 60000); // 60 seconds - browser startup can be slow
6464

6565
it('should save Python script', async () => {
66-
const browser = await createTestBrowser(false);
66+
const browser = await createTestBrowser();
6767

6868
try {
6969
await browser.getPage().goto('https://example.com');
@@ -90,7 +90,7 @@ describe('ScriptGenerator', () => {
9090
}, 60000); // 60 seconds - browser startup can be slow
9191

9292
it('should save TypeScript script', async () => {
93-
const browser = await createTestBrowser(false);
93+
const browser = await createTestBrowser();
9494

9595
try {
9696
await browser.getPage().goto('https://example.com');

tests/inspector.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { createTestBrowser } from './test-utils';
77

88
describe('Inspector', () => {
99
it('should start and stop', async () => {
10-
const browser = await createTestBrowser(false);
10+
const browser = await createTestBrowser();
1111

1212
try {
1313
await browser.getPage().goto('https://example.com');

tests/recorder.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { createTestBrowser } from './test-utils';
1010

1111
describe('Recorder', () => {
1212
it('should start and stop', async () => {
13-
const browser = await createTestBrowser(false);
13+
const browser = await createTestBrowser();
1414

1515
try {
1616
await browser.getPage().goto('https://example.com');
@@ -29,7 +29,7 @@ describe('Recorder', () => {
2929
}, 60000); // 60 seconds - browser startup can be slow
3030

3131
it('should record click events', async () => {
32-
const browser = await createTestBrowser(false);
32+
const browser = await createTestBrowser();
3333

3434
try {
3535
await browser.getPage().goto('https://example.com');
@@ -53,7 +53,7 @@ describe('Recorder', () => {
5353
}, 60000); // 60 seconds - browser startup can be slow
5454

5555
it('should record type events', async () => {
56-
const browser = await createTestBrowser(false);
56+
const browser = await createTestBrowser();
5757

5858
try {
5959
await browser.getPage().goto('https://example.com');
@@ -77,7 +77,7 @@ describe('Recorder', () => {
7777
}, 60000); // 60 seconds - browser startup can be slow
7878

7979
it('should mask sensitive text', async () => {
80-
const browser = await createTestBrowser(false);
80+
const browser = await createTestBrowser();
8181

8282
try {
8383
await browser.getPage().goto('https://example.com');
@@ -99,7 +99,7 @@ describe('Recorder', () => {
9999
}, 60000); // 60 seconds - browser startup can be slow
100100

101101
it('should save and load trace', async () => {
102-
const browser = await createTestBrowser(false);
102+
const browser = await createTestBrowser();
103103

104104
try {
105105
await browser.getPage().goto('https://example.com');

tests/snapshot.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { createTestBrowser } from './test-utils';
77

88
describe('Snapshot', () => {
99
it('should take a basic snapshot', async () => {
10-
const browser = await createTestBrowser(false);
10+
const browser = await createTestBrowser();
1111

1212
try {
1313
await browser.getPage().goto('https://example.com');
@@ -25,7 +25,7 @@ describe('Snapshot', () => {
2525
}, 60000); // 60 seconds - browser startup can be slow
2626

2727
it('should have valid element structure', async () => {
28-
const browser = await createTestBrowser(false);
28+
const browser = await createTestBrowser();
2929

3030
try {
3131
await browser.getPage().goto('https://example.com');

tests/stealth.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ describe('Stealth Mode / Bot Evasion', () => {
1515
let browser: SentienceBrowser;
1616

1717
beforeAll(async () => {
18-
browser = new SentienceBrowser(undefined, undefined, false);
18+
// Auto-detect headless mode (headless in CI, headed locally)
19+
browser = new SentienceBrowser(undefined, undefined, undefined);
1920
await browser.start();
2021
});
2122

tests/test-utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ import { SentienceBrowser } from '../src';
66

77
/**
88
* Creates a browser instance and starts it with better error handling
9+
* Auto-detects headless mode based on CI environment (headless in CI, headed locally)
910
*/
10-
export async function createTestBrowser(headless: boolean = false): Promise<SentienceBrowser> {
11+
export async function createTestBrowser(headless?: boolean): Promise<SentienceBrowser> {
1112
const browser = new SentienceBrowser(undefined, undefined, headless);
1213
try {
1314
await browser.start();

0 commit comments

Comments
 (0)