La manipulation de l'authentification Windows pop-up
Ci-dessous mon script AutoIt (UI3_Authentication.au3) pour la manutention d'une authentification Windows pop-up.
AutoItSetOption("WinTitleMatchMode","2")
WinWait("Authentication Required")
$title = WinGetTitle("Authentication Required") ; retrives whole window title
$UN=WinGetText($title,"User Name:")
ControlSend($title,"",$UN,"test");Sets Username
$PWD=WinGetText($title,"Password:")
Send("{TAB 1}")
ControlSend($title,"",$PWD,"test1234");Sets PWD
Send("{ENTER}")
Ci-dessous est mon Sélénium code appel à la ci-dessus AutoIt fichier exe.
package tests;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Handling_Windows_Based_Prompt {
public static void main(String[] args) throws IOException{
WebDriver c1 = new FirefoxDriver();
c1.get(“http://www.test.com”);
Runtime.getRuntime().exec("C:\\POM_Newdemo\\EF_Automation_Demo\\UI3_Authentication.exe");
}
}
Quand je lance le au-dessus de Sélénium fichier, il ouvre la page d'authentification et de pop-up. Mais il n'est pas l'insertion de nom d'utilisateur et mot de passe; il attend une entrée de l'utilisateur à la place.
Vous devez vous connecter pour publier un commentaire.
J'ai résolu le problème.
En fait, c'était mon mauvais. Auparavant, mon code était comme ça:
J'ai Ajouté autoit code avant mon get (), comme suit, et il a travaillé:
Cela fonctionne avec mon ChromeDriver. Espérons qu'il sera utile
J'ai connu le même problème. AutoIt fonctionne bien avec le sélénium, si elle est en cours d'exécution dans un "open" de bureau.
Si j'utilise une Machine Virtuelle avec une session ouverte(voir ce qui se passe), même réduite, il fonctionne très bien, mais si je ferme le bureau à distance(fin de la session), script AutoIt montre le succès, mais ne rien faire.
La "solution" est de garder la machine virtuelle "ouvert" par la connexion avec TightVNC. Même la fermeture de la fenêtre, la VNC maintient l'ouverture de session vivant et AutoIt fonctionne sans problèmes.
Espère que cette info vous aide. Ce n'est pas une solution, mais peut-être que vous pouvez le contourner.