0

WebページにQTPを使用するコードがあります

Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").Set dtVAdd1

ご覧のとおり、私は「Set」プロパティを使用しました。実際には、「タイプ」プロパティを使用したかったのは、すぐにフィールド制限をチェックするスクリプトを記述し、フィールド長よりも大きな値を設定しようとすると .Set プロパティがエラーをスローするためです。しかし、Type プロパティ (私は win32 アプリで使用しました) は、フィールドの長さと同じくらい型を指定しますが、少なくとも処理できないエラーをスローしません。

WebEdit またはこの特定の WebEdit の QTP では、.Type を選択できません。SWFfield の場合、なぜ許可されたのでしょうか。

助言がありますか?

4

4 に答える 4

1

「型」はWindowsアプリケーション、Delphi、Java、swfなどで使われるメソッドですが、Webアプリケーションでは使われません。

Web アプリケーションの場合、「Set」メソッドを使用する必要があります。したがって、上記のコードは「Set」メソッドを受け入れます。これは、Web ベースのオブジェクトで「Type」メソッドを使用できない理由も示しています。

フィールド制限をカウントしたい場合は、webedit でオブジェクト スパイを行うことができます-> その最大長の値を任意の変数に保存します-> 実行時に、'Browser("..." )。ページ("...")。.... .GetROProperty(「最大長」)。次に、2 つの変数を if ステートメントで比較します。

于 2013-05-30T11:03:03.060 に答える
0

WScript シェル オブジェクトを使用して、 (クリックして) フォーカスした後、キーストロークを WebEdit に送信できます。http://h30499.www3.hp.com/t5/Quality-Center-Support-and-News/QTP-cannot-input-value-to-Webedit-field/td-p/4206627#.UkRMyIbIYygに示すように:

Set WshShell = CreateObject("WScript.Shell")
Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").Click
WshShell.SendKeys(dtVAdd1)
Set WshShell = Nothing

の値は、(たとえば) http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspxdtVAdd1に記載されているように、期待される形式に準拠する必要があることに注意してください。SendKeys

別の方法として、文書化されていない Mercury.DeviceReplay インターフェイスを使用してキーストロークを送信することもできます。これは簡単にググることができます。

于 2013-09-26T15:12:36.223 に答える
0

WebEdit が Type メソッドをサポートしていないことがわかっているので、次のような別のアプローチを使用できます。

1. SendKeys
Set objClick = CreateObject("WScript.Shell") Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").Click
objClick.SendKeys "dtVAdd1"
Set objClick = Nothing

http://www.ufthelp.com/2013/02/sending-keyboard-strokes-in-uft-115.html

2.ネイティブ オブジェクトプロパティを使用する Browser("Sarit_2").Page("Sarit").WebEdit("frm_vendor_address1").object.value="dtVAdd1" ただし、これは Set メソッドとほとんど同じです。

3.UFTでAdvance Run 設定を使用する

ツール -> オプション -> GUI テスト -> Web -> 詳細設定 -> 実行設定 -> 再生タイプ -> マウス

于 2014-12-19T03:38:30.247 に答える