Zum Inhalt springen

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);

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.

Verwandte Anleitungen

  • Zugangsdaten-Tresor Der erste Login, ohne ein Geheimnis offenzulegen
  • Session-Lebenszyklus Wann Teardown — und damit die Erfassung — passiert
  • Referenz Sessions Das Feld profileId beim Anlegen einer Session