2017-09-15 18 views
1

Dans l'une de nos machines de test, 2 navigateurs sont comptés mais seulement 1 est affiché, ce qui UFT ne pas identifier et saisir la valeur aux objets puisque nous utilisons RegEx:UFT détecte 2 navigateurs internet explorer mais seulement 1 est affiché

Browser("title:=.*").Page.... 

Nous utilisons la ligne ci-dessous pour initialiser IE:

InvokeApplication "C://Program Files/Internet Explorer/IEXPLORE.EXE" 

Quelle est la solution pour cela?

La version UFT est 12.02.

Merci d'avance!

+0

pas beaucoup d'informations pour vous aider. Je suppose que vous avez pris le nombre de navigateur (que vous avez comme 2). Pourquoi ne pas essayer d'utiliser creationtime au lieu de Title? – Pranav

+0

Vérifiez dans le gestionnaire de tâches si un processus supplémentaire 'iexplore.exe' est en cours d'exécution ou non. – Gurman

+0

@Pranav - Tous nos scripts utilisent le titre, il faudrait beaucoup de temps pour tout mettre à jour et pourrait avoir un impact sur les scripts. Je suis d'abord à la recherche d'une solution de contournement bien que ce soit ma dernière option. Merci –

Répondre

0

Merci pour tous vos commentaires. J'ai beaucoup appris de toi. J'ai déjà trouvé la cause première. Après tout, ce n'était pas les multiples navigateurs ouverts mais un problème de synchronisation avec la page de connexion pour l'une des machines. L'objet de la zone de texte de l'adresse e-mail est visible mais il ne peut pas être identifié par UFT immédiatement, c'est pourquoi j'ai ajouté un point de synchronisation pour attendre au maximum 4 minutes jusqu'à object.Exist(240)=true. Merci à tous!

0

Je voudrais tout d'abord fermer toutes les instances ouvertes de IE en utilisant:

SystemUtil.CloseProcessByName("iexplore.exe") 

Et puis ouvrez la nouvelle instance en utilisant:

SystemUtil.Run "iexplore.exe","TestURL","C:\","",3 

Vérifiez this lien pour plus d'informations sur SystemUtil.

+0

Merci. Est-ce que cela va ignorer ALM si le paramètre pour ignorer ALM dans UFT est activé? Ou je dois ajouter du code pour ignorer ALM? –

+0

@GlennC, cela fermera ALM (ouvert dans IE) ainsi. Pour gérer cela, je suggère d'utiliser ALM Explorer, donc vous devez vous inquiéter à ce qu'il se ferme s'il est ouvert en utilisant IE.Vérifiez ma [** 'réponse' **] (https://stackoverflow.com/a/32056517/1652222) sur ce problème. – ManishChristian

0

Suivre étapes ci-dessous: -

1) fermer tout le processus de IE en utilisant l'objet WMI.

Set ObjWMI= GetObject("WInmgmts:") 
Set oProcess = ObjWMI.ExecQuery("Select * from win_32 Process") 
For each p in oProcess 
    if p.name = "iexplorer.exe" Then p.terminate 
Next 

2) webUtil.deleteCokkies

3) Ensuite, ouvrez votre application à l'aide systemUtil.run ..

espère que cela aidera