Autenticación de Windows Watin

Estoy tratando de escribir pruebas de Watin para una aplicación de intranet que utiliza autenticación integrada. La página web que estoy intentando probar imprime Page.User.Identity.Name.

Aquí está algo del código de mi prueba:

if (Win32.LogonUser(u.UserName, u.Domain, u.Password, 2 /*LOGON32_LOGON_INTERACTIVE*/, 0 /*LOGON32_PROVIDER_DEFAULT*/, out hToken))
            {
                if (Win32.DuplicateToken(hToken, 2, out hTokenDuplicate))
                {
                    WindowsIdentity windowsIdentity = new WindowsIdentity(hTokenDuplicate);
                    WindowsImpersonationContext impersonationContext = windowsIdentity.Impersonate();  

                    Console.WriteLine(WindowsIdentity.GetCurrent().Name);

                    using (IE ie = new IE(url))
                    {
                        Console.WriteLine(ie.ContainsText(u.UserName));
                        ie.AutoClose = false;
                    }

                    impersonationContext.Undo();
                }
            }

Cuando ejecuto esto, imprime el nombre de usuario que estoy tratando de suplantar en la consola, pero la página web muestra al usuario en el que estoy registrado actualmente, no al usuario que debería estar suplantando.

Problema similar encontrado en:
Pruebas automatizadas de escenarios de autorización implementados con AzMan

Respuestas a la pregunta(1)

Su respuesta a la pregunta