私はUFT 12.51を使用して、IE 11でWebベースのアプリケーションを自動化しています。ここに私のシナリオです:
私は自動化しようとしているプロセス(正確には9ページ)を完了するためにいくつかのページを通過する必要があります。 4ページ目で、(ポップアップとして)フレームを開くリンクをクリックします。必要な情報を入力し、ボタンをクリックすると、フレームを閉じる情報が送信され、ブラウザの4ページに戻ります。ここで私の問題が始まります:この時点で、UFTはページ上の要素の認識を停止します。それはページがあるが、それは子の可視オブジェクトを認識しません。手動でリンクを再度クリックしてフレームを再度表示してフレームを閉じると、UFTはページ上のオブジェクトの認識を再開します。 UFTにリンクが表示されていないときにフレームを再び開くためにリンクをクリック(私はURLを持っている)します。私がそれを行うことができれば、私はフレームを閉じることができ、ページ上のオブジェクトは再び表示されます。うまくいけば:)
私は 'devicereplay'、browser.navigate、sendkeysのようなものを試しましたが、ワーキング。残念なことに私のアプリの性質上、スクリーン印刷はできません。どんな助けも大いにありがたく思うのですが、私はこれを2日間運がないまま把握しようとしています。リンクをトリガーするオブジェクトが表示されないときにクリック
コード
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
セキュリティ上の理由から、私は、オブジェクトの名前を変更しますが、コードの上に、私が試してみました、物事のほんの一例ですしています。 dCurrVals
は、関数呼び出しの前に事前に設定されている辞書オブジェクトです
は4ページには、すべてのカスタムコントロールではなくWebオブジェクトが含まれていますか? –
それはウェブオブジェクトだけです(テーブル、編集フィールド、リンクなど) – Zac
UFTはなぜそれを認識しないのですか?説明的なプログラミングを試しましたか、手順を記録しましたか? –