Pular para o conteúdo principal
Para testes, os jogos podem querer automatizar a adição de usuários ao jogo. Com o Microsoft Game Development Kit (GDK), os usuários só são adicionados quando o jogo chama XUserAddAsync. Com relação à automação, essa função tem as duas principais limitações a seguir.
  • Se você chamar XUserAddAsync com o sinalizador AddDefaultUserSilently, não obterá interface do usuário (o que ajuda na automação). No entanto, você só pode obter o usuário que iniciou o jogo. Chamar a API repetidamente com esse sinalizador não altera o resultado. Você continuará obtendo novos identificadores para os mesmos usuários.
  • Se você chamar XUserAddAsync sem o sinalizador AddDefaultUserSilently, a interface do usuário será exibida e aguardará que alguém pressione um botão. Isso interrompe a automação.
Para ajudar na automação da adição de usuários em código de teste, o Microsoft Game Development Kit (GDK) oferece suporte à ativação de uma opção headless, na qual você pode adicionar usuários sem que seja exibida uma interface do usuário que exija entrada do usuário. As etapas a seguir descrevem a abordagem básica.
  1. Para adicionar um usuário conectado ao console, você pode usar a ferramenta de linha de comando xbuser (tópico sob NDA) com a opção signin. Repita esta etapa para cada usuário.
  2. Para suprimir a interface do usuário que normalmente seria exibida ao adicionar um usuário no jogo, você pode usar a ferramenta de linha de comando xbconfig (tópico sob NDA) com a opção HeadlessXuser, conforme mostrado a seguir.
  1. Inicie o jogo.
  2. No jogo, cada chamada a XUserAddAsync que não tenha o sinalizador AddDefaultUserSilently retorna o primeiro usuário que entrou no console e que não tem objetos XUserHandle pendentes associados a ele pelo jogo.
  3. Se o jogo continuar chamando XUserAddAsync, ele acabará esgotando o número de usuários conectados ao console. Depois que isso acontecer, XUserAddAsync retornará E_ABORT. Esse é exatamente o mesmo erro que XUserAddAsync teria retornado se o usuário tivesse cancelado a entrada no console (ou saído da interface do usuário de outra forma).
  4. Para fins de teste, os jogos podem querer saber o número de contas de teste conectadas ao console. Para facilitar isso, os jogos podem chamar CreateProcess e iniciar a ferramenta de linha de comando wduser com a opção list.
Última modificação em 6 de outubro de 2026