J'utilise UFT 12.51 pour automatiser une application Web sur IE11. Voici mon scénario:
Je dois parcourir quelques pages pour compléter le processus que j'essaie d'automatiser (9 pages pour être précis). Sur la page 4, je clique sur un lien qui ouvre un cadre (sous forme de popup). Je saisis les informations requises et je clique sur le bouton pour soumettre l'information qui ferme le cadre et me renvoie à la page 4 du navigateur. Voici où mes problèmes commencent: à ce stade, UFT cesse de reconnaître les éléments sur la page. Il détecte qu'il y a une page mais ne reconnaît pas qu'il a des objets 'visibles'. Si je clique à nouveau manuellement sur le lien pour afficher à nouveau le cadre et les ferme le cadre, UFT commence à reconnaître à nouveau les objets sur la page. Y at-il un moyen de déclencher un clic de lien (j'ai l'URL) pour ouvrir à nouveau le cadre lorsque le lien n'est pas visible à UFT? Si je peux le faire, je serai en mesure de fermer le cadre et les objets sur la page seront visibles à nouveau .. heureusement :)
J'ai essayé des choses comme 'devicereplay', browser.navigate, sendkeys mais aucun d'eux travail. Malheureusement, en raison de la nature de mon application, je ne peux pas fournir de sérigraphie. Toute aide serait grandement appréciée car j'ai essayé de comprendre cela pendant 2 jours maintenant sans aucune chance.Déclenchement d'un clic de lien lorsqu'un objet n'est pas visible
code
Dim oDR : Set oDR = CreateObject("Mercury.DeviceReplay")
' Lets get the X and Y chordinates for 'Next Step' button
Dim iX, iY
iX = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("x") + 5
iY = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("y") + 5
If MyFunction(dCurrVals, sErrorMsg) Then
LOG_ReportEvent "PASS", "Set Investment/Allocate", "Successfully initialised page"
Else
LOG_ReportEvent "FAIL", "Set Investment/Allocate", sError
End If
'Browser("MyBrowser").Page("MyPage").Object.body.doscroll "scrollbarPageUP"
wait(1)
oDR.MouseMove iX, iY
oDR.MouseClick iX, iY, 0
Set oDR = Nothing
Browser("MyBrowser").RefreshWebSupport
Wait(1)
Browser("MyBrowser").Page("MyPage").Link("Search")
'Browser("MyBrowser").Navigate "MyURL"
'Browser("MyBrowser").Page("MyPage").Sync
'Browser("MyBrowser").Page("MyPage").Link
'Wait(1)
'Browser("MyBrowser").Page("MyPage").Link("Search")
'Browser("MyBrowser").Page("MyPage").WebElement("Search").FireEvent "onclick"
NOTE
Pour des raisons de sécurité, j'ai changé le nom de l'objet, mais le code ci-dessus est juste un exemple de ce que j'ai essayé. dCurrVals
est un objet de dictionnaire qui est pré-rempli avant l'appel de fonction
Est-ce que la page 4 contient tous les contrôles personnalisés et non des objets Web? –
Il s'agit uniquement d'objets Web (tables, champs d'édition, liens, etc.) – Zac
Alors pourquoi UFT ne le reconnaît-il pas? Avez-vous essayé la programmation descriptive ou essayé d'enregistrer vos démarches? –