Resolver problemas de testes de origem do Chrome

Resolva problemas comuns com tokens de teste em metatags, cabeçalhos e scripts.

Lista de verificação

Para resolver um teste de origem, resolva cada um dos problemas abaixo usando os links fornecidos.

Faça o teste!

As demonstrações abaixo mostram cada uma das maneiras de fornecer um token de teste de origem e acessar um recurso de teste:

Usar o Chrome DevTools para verificar tokens

No Chrome 93, o DevTools fornece informações sobre testes de origem no painel Application para o frame selecionado.

Informações sobre os testes de origem do Chrome DevTools no painel "Application".

Expanda o frame superior para inspecionar os tokens de teste de origem disponíveis para um subframe. Por exemplo, para a página de demonstração ot-iframe.glitch.me, você pode ver que a página no iframe fornece um token.

Painel "Chrome DevTools" App mostrando tokens de teste de origem da página no iframe.

  • Status do token: se a página tem um token válido. Observe que, para alguns testes de origem, pode haver outros fatores, como restrições geográficas, o que significa que o recurso de teste de origem não está disponível, apesar da presença de um token válido. Os códigos de status do Chrome DevTools explicam o significado de cada um dos códigos para testes de origem.
  • Origem: a origem da Web registrada para o token.
  • Tempo de validade: a data/hora máxima (mais recente) possível para o token, que normalmente corresponde ao final do teste. Ela não é igual à data "Válido até" do token exibido em Meus registros, que mostra por quanto tempo o token é válido no momento e pode ser estendido.
  • Restrição de uso: os limites de uso, que podem ser definidos para alguns testes.
  • Terceiro: indica se a correspondência de terceiros está ativada para o token. Essa opção está disponível para alguns testes de origem, em que um recurso de teste precisa ser acessado em vários sites usando scripts de terceiros.
  • Corresponder subdomínios: se a correspondência de subdomínio está ativada para o token. Isso permite que um recurso de teste de origem seja testado em vários subdomínios de uma origem, sem precisar de um token diferente para cada subdomínio.

O Chrome DevTools exibirá um aviso ao lado do nome do teste se ele não estiver disponível para o usuário atual, se o token tiver expirado ou se houver outras restrições.

Informações sobre os testes de origem do Chrome DevTools no painel "Application" mostrando um token expirado

Códigos de status do Chrome DevTools

  • Expirado: o token passou da data de validade. O token precisará ser renovado para gerar um novo com uma nova data de validade.
    Código-fonte

  • FeatureDisabled o teste está desativado para uso no momento.
    Código-fonte

  • FeatureDisabledForUser: esse token foi designado como desativado para o usuário atual por uma restrição de uso alternativa. Consulte a seção "Exclusões do subconjunto de usuários" do documento de design.
    Código-fonte 1
    Código-fonte 2

  • Não segura: a origem da solicitação não é segura, e o teste não está ativado para origens não seguras. Conforme explicado no código do validador do token de teste de origem: Para tokens de terceiros, a origem atual e a do script precisam ser seguras. Devido à correspondência de subdomínio, a origem do token pode não ser uma correspondência exata para uma das origens de script fornecidas, e o resultado não indica qual origem específica foi correspondida. Isso significa que não é uma pesquisa direta para encontrar a origem adequada do script. Para evitar a repetição de todas as comparações de origem, há atalhos que dependem de quantas origens de script foram fornecidas. É preciso que haja pelo menos um. Caso contrário, o token de terceiros não será validado."
    Código-fonte

  • InvalidSignature: o token tem uma assinatura inválida ou incorreta.
    Código-fonte

  • Malformado: o token é inválido e não pode ser analisado.
    Código-fonte

  • NotSupported: o teste de origem definido pelo token não tem suporte no "embedder" do Chromium, um navegador como o Chrome ou o Edge, um WebView ou outro user agent.
    Código-fonte

  • Sucesso: o token é bem formado, não expirou, corresponde a um recurso de teste de origem e é solicitado a partir de uma origem esperada.
    Código-fonte

  • TokenDisabled: o token foi marcado como desativado e não pode ser usado.
    Código-fonte

  • TrialNotAllowed: o teste de origem não está disponível para o usuário atual.
    Código-fonte

  • UnknownTrial: o token especifica um nome de recurso que não corresponde a nenhum teste conhecido.
    Código-fonte

  • WrongOrigin: a origem da solicitação não corresponde à especificada no token. Isso pode incluir o esquema, o nome do host ou a porta. Esse status também será exibido se um token de terceiros for fornecido em um cabeçalho HTTP, metatag ou script in-line, e não em um arquivo JavaScript externo.
    Código-fonte

  • WrongVersion: Versão incorreta do token. No momento, somente as versões 2 e 3 do token são aceitas.
    Código-fonte


Não está funcionando. 🤔

Se o teste de origem não estiver funcionando como esperado, verifique se você atendeu às condições a seguir.

Você está testando no Chrome, não no Chromium ou em outro navegador

Os testes de origem do Chrome foram criados para funcionar para usuários do Chrome. Não confie nos tokens de teste de origem do Google Chrome para ativar recursos de teste em outros navegadores, incluindo o Chromium e outros navegadores baseados nele. Isso ocorre porque os testes de origem do Chrome são específicos aos recursos disponibilizados para experimentação.

Os testes de origem também estão disponíveis para Firefox e Microsoft Edge. O registro em um teste de origem do Firefox ou do Edge não ativa um recurso no Chrome.

O teste de origem está ativado para as versões do Chrome que acessam seu site.

O acesso aos testes é limitado a versões específicas do Chrome. Em alguns casos, isso pode significar que um recurso de teste está disponível apenas para canais pré-estáveis do Chrome: Canary, Dev e Beta.

Verifique a disponibilidade da versão na página de registro do teste:

Página de testes de origem do Chrome
para conjuntos primários e SameParty com a disponibilidade do Chrome em destaque

Acesse chrome://version para verificar qual versão do Chrome você está usando.

O teste de origem não foi desativado pelas configurações do Chrome

Se um usuário informar que um recurso não está funcionando, verifique se o recurso não está desativado nas configurações do Chrome. Por exemplo, os recursos do Sandbox de privacidade podem ser desativados na página chrome://settings/privacySandbox.

As palavras-chave e a sintaxe estão corretas

Usar palavras-chave e sintaxe adequadas para tokens de testes de origem.

Para uso próprio, um token pode ser fornecido em uma metatag origin-trial:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Como alternativa, um token pode ser fornecido em um cabeçalho de resposta Origin-Trial. Veja um exemplo usando Express no Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Os tokens também podem ser fornecidos usando JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

A origem do token próprio corresponde à origem da página

Verifique se o valor Web Origin selecionado ao se inscrever em um teste corresponde à origem da página que tem a metatag ou o cabeçalho que fornece o token.

Por exemplo, se você selecionou https://example.com como a Origem da Web:

Página de testes de origem do Chrome
mostrando https://example.com selecionado como origem da Web.

Você pode receber um valor de token como este:

Página de testes de origem do Chrome
mostrando o valor do token.

Verifique se esse valor corresponde ao token usado na página com o problema em questão.

Para um token fornecido em uma metatag, verifique o HTML:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Para um token fornecido em um cabeçalho, você pode verificar o valor do token no painel Network do Chrome DevTools em Response Headers:

Painel &quot;Network&quot; do Chrome DevTools
mostrando o cabeçalho de resposta dos testes de origem.

O token próprio é veiculado a partir da origem que o utiliza.

Para permitir o acesso a um recurso de teste de origem para um código incluído em uma página veiculada na sua origem, forneça um token de teste em uma metatag, cabeçalho ou JavaScript da mesma origem.

A origem registrada para um token precisa corresponder à origem que o disponibiliza.

A origem do token de terceiros corresponde à origem do script

Você pode se registrar para participar de um teste de origem para scripts injetados em outras origens.

Por exemplo, se você quiser que os scripts veiculados por javascript-library.example participem de um teste de origem, precisará registrar um token com correspondência de terceiros para javascript-library.example.

Página de registro de testes de origem do Chrome
mostrando a correspondência de terceiros selecionada.

O valor de origem de um token de terceiros precisa corresponder à origem do script que o injeta.

O script de terceiros usa um token de terceiros

Não é possível permitir que um script de terceiros participe de um teste de origem no seu site simplesmente registrando um token para ela, e não para o script.

Os scripts de terceiros precisam usar tokens com correspondência de terceiros ativada, injetados pelo próprio script (não incluído em uma metatag ou cabeçalho no seu site) usando um código como o seguinte:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

O token de terceiros é fornecido por um script externo, não por uma metatag, cabeçalho HTTP ou script in-line

Os tokens de terceiros são validados em relação à origem do script que os injetou, mas os scripts in-line e as tags <meta> na marcação estática não têm uma origem (ou seja, um URL de origem).

Isso significa que um token de terceiros precisa ser fornecido por um script externo, não em uma tag <meta> ou um script in-line. Não importa se o script externo que injeta o token tem a mesma origem da página que o contém ou uma origem diferente, contanto que a origem do script corresponda a uma origem registrada para o teste.

Veja uma demonstração em ot-iframe-3p.glitch.me.

O acesso ao recurso de teste de origem é compatível com o método usado para fornecer um token de teste

Para alguns tipos de acesso aos recursos de testes de origem, é necessário fornecer um token de teste de uma forma específica. Por exemplo, a única maneira de ativar o acesso ao teste de origem para service workers e workers compartilhados é fornecer um token em um cabeçalho Origin-Trial.

A correspondência de subdomínio está ativada para um token usado em um subdomínio

Se um recurso de teste de origem não estiver funcionando em algumas páginas do seu site, verifique se os tokens estão configurados corretamente para os subdomínios que os veiculam.

Ao se registrar para um teste de origem, você tem a opção de corresponder a todos os subdomínios da origem:

Página de registro de testes de origem do Chrome
mostrando a correspondência de subdomínio selecionada

Também é possível fazer a correspondência de subdomínios para tokens de terceiros:

Página de registro de testes de origem do Chrome
mostrando a correspondência de terceiros e de subdomínio selecionada

Os tokens de subdomínio não serão emitidos para origens na lista de sufixos públicos. Por exemplo, não é possível registrar uma origem como https://appspot.com ou https://github.io, mas é possível se registrar para domínios dentro dessa origem, como https://example.appspot.com ou https://example.github.io.

O token ainda é válido

Os tokens são válidos por seis semanas após serem criados. Além disso, envie um feedback para estender a data de validade. O Guia de testes de origem para desenvolvedores da Web explica como garantir que seu token seja válido para um teste de origem inteiro.

É possível verificar se há tokens ativos na página Meus registros dos testes de origem do Chrome:

Testes de origem do Chrome 
A página &quot;Meus registros&quot; mostra a opção &quot;Válido até a data&quot;

O Chrome DevTools exibe o status Success se o token ainda é válido:

Informações dos testes de origem do Chrome DevTools no painel &quot;Application&quot;, destacando &quot;Status: Success&quot;.

Se o token tiver expirado, o DevTools exibirá o status Expired e a página "My Registros" (Meus registros) exibirá a seção Expires Tokens (Tokens expirados).

Página &quot;Meus registros&quot; dos testes de origem
do Chrome mostrando tokens expirados.

O teste de origem não terminou

É possível conferir a data de término de um teste de origem na página de registro:

Página de testes de origem do Chrome
para conjuntos primários e SameParty com detalhes do teste disponível destacados.

Para testes que terminaram, o DevTools exibirá algo assim:

Informações sobre testes de origem do Chrome DevTools no painel &quot;Application&quot;, mostrando ValidTokenNotProvided e Status Expirado

Você vai receber e-mails automáticos quando precisar de feedback ou quando um token estiver prestes a expirar, mas não quando o teste terminar.

O teste de origem está disponível para o usuário atual

Alguns testes de origem não estão disponíveis para determinados usuários, mesmo com um token válido fornecido.

Se um teste não estiver disponível para o usuário atual, o Chrome DevTools exibirá um aviso TrialNotAllowed:

Informações sobre testes de origem do Chrome DevTools no painel &quot;Application&quot; mostrando o aviso TrialNotAllowed.

Serão fornecidas informações sobre restrições de uso e disponibilidade para cada teste de origem.

Como acontece com qualquer recurso de plataforma da Web, você precisa usar a detecção de recursos para confirmar se há suporte para um recurso de teste de origem antes de usá-lo.

As restrições de uso do teste de origem não foram excedidas

Por padrão, um recurso de teste de origem será ativado em qualquer página que tenha um token válido para o teste.

No entanto, exceto em casos raros, o uso do teste de origem é limitado a um máximo de 0,5% de todos os carregamentos de página do Chrome. O recurso de teste de origem será desativado se o uso total por todos os usuários do Chrome exceder esse valor. O DevTools mostrará o status do token como desativado.

Não há limites de uso para testes de descontinuação, já que eles não introduzem novos recursos e, portanto, não representam o risco de deixar uma proporção significativa da Web dependente de um recurso de teste.

Alguns testes também oferecem uma opção para limitar o uso, o que significa que os recursos de teste de origem vão ser desativados para alguns usuários. Essa opção é disponibilizada na página de registro para um teste de origem que a oferece:

Página de registro de testes de origem
do Chrome mostrando restrições de uso.

Se você notar que o acesso dos usuários a um recurso de teste de origem está menor do que o esperado, verifique se a opção "Limite padrão" está selecionada.

Os iframes fornecem os próprios tokens

Para permitir o acesso a um recurso de teste de origem, um iframe precisa fornecer um token em uma metatag, um cabeçalho HTTP ou de maneira programática. Os Iframes não herdam o acesso a recursos ativados para páginas que os contêm.

O ot-iframe.glitch.me demonstra o acesso a um recurso de teste de origem a partir de um iframe. ot-iframe-3p.glitch.me fornece vários exemplos de iframe de origem cruzada.

As políticas de permissões estão configuradas corretamente

Alguns recursos de testes de origem podem ser afetados por um cabeçalho Permissions-Policy (antes conhecido como cabeçalho Feature-Policy). Você pode conferir isso na página Intent de experimento do recurso de teste ou na documentação do desenvolvedor para o recurso em web.dev ou developer.chrome.com/blog.

Verifique se o recurso que você está tentando acessar não está bloqueado por uma diretiva Permissions-Policy. É possível verificar os cabeçalhos de resposta no painel Network do Chrome DevTools e visualizar a lista completa de recursos permitidos no painel Application.

Painel do aplicativo Chrome DevTools 
  mostrando o recurso permitido pela política de permissões.

E os workers?

Os recursos de testes de origem podem ser disponibilizados para service workers, workers compartilhados e workers dedicados. No entanto, a única maneira de ativar o acesso para service workers e workers compartilhados é fornecer um token em um cabeçalho Origin-Trial.

Os workers dedicados herdam o acesso aos recursos ativados pelo documento pai.

O token é fornecido antes do acesso ao recurso

Verifique se um token de teste de origem foi fornecido antes de um recurso de teste ser acessado. Por exemplo, se uma página fornecer um token via JavaScript, verifique se o código para fornecer o token é executado antes do código que tente acessar o recurso de teste.

Demonstrações de teste de origem

Saiba mais