質問

私はQTPを使用してフライアウトメニューのアクションをトリガーするためのアイデアを探しています。

私は、QTPを使用してWebアプリケーションをテストしています。アプリケーションは、「カスケード接続」または階層フライアウトメニューました。

例えば。 Options->Preferences

QTPを再コーディングすると、メニュー階層上のエンドポイントを認識しながら(「環境設定」と言います)。 テストの実行中しかし、WebElement("Preferences").Clickを発射することはできません。

私はLink("Options").FireEvent ("onmouseover")呼んでも、メニューをプルダウンした後、クリックを呼び出し、それがメニューをプルダウンし、その後、私は環境設定項目を強調表示することができますが、場合

メニューアクションをトリガーするために失敗します。

任意のアイデアは有用であろうこれらのメニュー項目のクリックアクションをトリガします。

よろしく、
Adarsha

役に立ちましたか?

解決 2

QTPの実行中にマルチタスクを失うことの理由のために、私はMottiのsuggesitonで実装されていませんでした。だから私は、マウスイベントは、Javaスクリプトが期待されているかを確認するためにHTMLコードを経由することになったinstaed。それは私が以下のシーケンスを呼び出す必要が判明します:

Link("Options").FireEvent ("onmouseover")
WebElement("Preferences").FireEvent ("onmouseover")
WebElement("Preferences").FireEvent ("onClick")

このトリックは、本当に素晴らしい作品が、ここでのリスクは、彼らが(たとえば、彼らはれるonmousedown使用している場合はクリックしてliteningのinstaed)大幅に任意のものを変更した場合、私はテストスクリプトを微調整する必要がある。

他のヒント

Clickが仕事をしていない場合は、

その後、ウェブアプリはQTPでシミュレートされていないことを期待している、おそらく他のイベントがあります。この問題を回避するための一つの方法は、Webののデバイスの再生をオンにすることです。のモード:

Setting.WebPackage("ReplayType") = 2 
QTPはClickのステップを見ている時はいつでも

この行の後にテストでは、要素の上にマウスを移動し、人間が発射されたすべてのイベントが発行されますので、クリックをシミュレートして、それを再生します。

バックデフォルトのイベントの再生モードに行くために1に"ReplayType"を設定します。

私は1つの以上のオプションを持っています。任意のオブジェクトをクリックして、これを使用します。

Set objMenu = Browser("Browser").Page("Pagel").WebElement("Menu_ELM")
Set objDeviceReplay1 = CreateObject("mercury.devicereplay")
x = objMenu.GetROProperty("abs_x")
y = objMenu.GetROProperty("abs_y")
objDeviceReplay1.MouseClick x + 35 , y + 5,0
Set objDeviceReplay1 = Nothing

ここで私が同様の問題にやったことだ。

Set desPrefLink = Description.Create
    desPrefLink("micclass").value = "Link"
    desPrefLink("innertext").value = "Preferences"

Browser(X).Page(Y).Link(desPrefLink).Click()

これはしかし、よりダイナミックなJavascriptのメニューでは動作しない場合があります。

私は似たような状況がわずかに異なる方法で扱わなかった、親リンクOptions上の最初のクリックが、その後、序数識別子の助けを借りてfireevent onclickをトリガー

eg: browser().page().link(options).click

browser().page().link("name:=preferences","html tag:=A","index:=X").firevent "onclick"

このは、理想的に意図した親リンクをロードすると、このことができますクリック - 希望に火災イベントをトリガーに役立つだろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top