chore: add CI to default user agent (#15450)

This commit is contained in:
Max Schmitt 2022-07-07 21:43:47 +02:00 коммит произвёл GitHub
Родитель b8deb2ba8f
Коммит 86a65a03e4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 13 добавлений и 4 удалений

Просмотреть файл

@ -57,9 +57,13 @@ function determineUserAgent(): string {
osIdentifier = 'linux';
}
}
const additionalTokens = [];
if (process.env.CI)
additionalTokens.push('CI/1');
const serializedTokens = additionalTokens.length ? ' ' + additionalTokens.join(' ') : '';
const { langName, langVersion } = getClientLanguage();
return `Playwright/${getPlaywrightVersion()} (${os.arch()}; ${osIdentifier} ${osVersion}) ${langName}/${langVersion}`;
return `Playwright/${getPlaywrightVersion()} (${os.arch()}; ${osIdentifier} ${osVersion}) ${langName}/${langVersion}${serializedTokens}`;
}
export function getClientLanguage(): { langName: string, langVersion: string } {

Просмотреть файл

@ -189,14 +189,19 @@ it('should set playwright as user-agent', async ({ playwright, server, isWindows
.replace(getPlaywrightVersion(), 'X.X.X')
.replace(/\d+/g, 'X');
const tokens = [];
if (process.env.CI)
tokens.push('CI/X');
const suffix = tokens.length ? ` ${tokens.join(' ')}` : '';
if (isWindows)
expect(userAgentMasked).toBe('Playwright/X.X.X (<ARCH>; windows X.X) node/X.X');
expect(userAgentMasked).toBe('Playwright/X.X.X (<ARCH>; windows X.X) node/X.X' + suffix);
else if (isLinux)
// on ubuntu: distro is 'ubuntu' and version is 'X.X'
// on manjaro: distro is 'Manjaro' and version is 'unknown'
expect(userAgentMasked.replace(/<ARCH>; \w+ [^)]+/, '<ARCH>; distro version')).toBe('Playwright/X.X.X (<ARCH>; distro version) node/X.X');
expect(userAgentMasked.replace(/<ARCH>; \w+ [^)]+/, '<ARCH>; distro version')).toBe('Playwright/X.X.X (<ARCH>; distro version) node/X.X' + suffix);
else if (isMac)
expect(userAgentMasked).toBe('Playwright/X.X.X (<ARCH>; macOS X.X) node/X.X');
expect(userAgentMasked).toBe('Playwright/X.X.X (<ARCH>; macOS X.X) node/X.X' + suffix);
});
it('should be able to construct with context options', async ({ playwright, browserType, server }) => {