Persistente Profile: angemeldet bleiben
Benenne eine profileId, und der Browser-Zustand — Cookies, Storage, angemeldete Sitzungen — übersteht den Teardown und kehrt in die nächste Session zurück.
Zuletzt aktualisiert:
Das Problem mit dem Anmeldezustand
Browser sind hier Wegwerfware; die Arbeit darin nicht. Die Anmeldung an einem Partnerportal kostet Zeit, manchmal einen Einmalcode, manchmal eine Kollegin — das zu Beginn jedes Runs zu wiederholen ist die größte einzelne Verschwendung bei der Automatisierung authentifizierter Sites.
Ein Profil löst das. Gib beim Anlegen einer Session eine profileId mit; nennst du eine Id, die es noch nicht gibt, wird das Profil angelegt — geprüft gegen das Kontingent deines Tarifs. Beim Teardown der Session wird der Browser-Zustand eingefangen; die nächste Session mit derselben Id startet mit genau diesem Zustand.
Ein Rundlauf durch ein Profil
Voraussetzungen: api-key
import { Browserberg } from '@browserberg/sdk';
const bb = new Browserberg({
apiKey: process.env.BROWSERBERG_API_KEY!,
baseUrl: 'https://browserberg.com',
});
// Naming a profile that does not exist yet creates it: the browser state is
// captured when this session ends.
{
await using first = await bb.sessions.create({
profileId: 'docs-example-profile', ttlSeconds: 120,
});
await first.act({
steps: [{
encodedId: null, action: 'navigate', role: 'none',
description: 'open example.com', value: 'https://example.com',
}],
});
}
// Give the capture a moment to land, then start a second session on the same
// profile: cookies, storage and logged-in sessions come back with it.
await new Promise((resolve) => setTimeout(resolve, 3000));
await using second = await bb.sessions.create({
profileId: 'docs-example-profile', ttlSeconds: 120,
});
console.log('second session ready:', second.id.length > 0);
console.log('warm start:', second.warmStart);
second session ready: true
warm start: true
Was ein Profil transportiert
Ein Profil trägt Cookies, lokalen Storage und die angemeldeten Sitzungen dahinter. Im Ruhezustand ist es mit dem Schlüssel deines Tenants verschlüsselt — die Plattform hält Ciphertext, keine lesbare Kopie deiner Portal-Logins.
Bewährt hat sich dieses Muster: die erste Anmeldung mit einem Datensatz aus dem Zugangsdaten-Tresor, alles danach auf dem Profil. Der Datensatz erledigt den Login einmal; das Profil erspart ihn den nächsten hundert Runs.