1

QTPを使用してWindowsフォーム.Netアプリケーションで作業しています.チェックボックスのセットが繰り返され、すべて同じプロパティがあります.各セットから特定のチェックボックスを1つ選択する必要があります.チェックボックスが画面に表示されない場合次に、スクロール ダウンする必要があります。エラー メッセージが表示されます。各セットから特定のチェックボックスを 1 つ選択する方法はありますか。eq: abc 機能 1 2 3 abc 機能 1 2 3 4 abc 機能 1 2

すべてのセットからチェックボックス 1 を選択する必要があります。

4

2 に答える 2

3

「チェックボックス セット」を識別する方法を見つける必要があります。オブジェクト スパイまたは dom インスペクタを使用して、セットを識別するもの (おそらく何らかの種類のdivまたはspan) を確認しdivます。 class "chkbxGrp".

次に、このグループに含まれる最初のチェックボックスを探してチェックします。

チェックボックスをスクロールして表示することは、QTP によって自動的に行われることに注意してください。
予想されるグループが存在しないときにこれを失敗させる必要がある場合は、特定のグループを識別する方法を見つけてから、そのようなすべてのグループを反復するのではなく、テストで予想される値を使用する必要があります。

' Untested code
Set Desc = Description.Create()
Desc("html tag").Value = "div"
Desc("html tag").RegularExpression = False
Desc("class").Value = "chkbxGrp"
' Find all groups
Set groups = Browser("B").Page("P").ChildObjects(Desc)
For i = 0 To groups.Count -1
    ' in each group check the first checkbox
    groups(i).WebCheckBox("index:=0").Set "ON"
Next
于 2012-07-04T11:07:49.953 に答える
1

QTPインデックスを使用してチェックボックスを「識別」できます。最初のチェックボックスだけが必要な場合は、これは最適なオプションではありません。タイプ「CheckBox」のページ上のすべてのオブジェクトを探し、結果セットが > 0 の場合、最初のオブジェクトを取得します。

2 番目のオプションは、近くの要素によってチェックボックスを「見つける」ことですが、この場合、それらの場所が変更されないようにする必要があります。

ところで、それらは完全に同一ですか?QTP には、要素の場所に必要な属性を設定するオプションがあります。アプリに表示される CheckBoxes に固有の任意の属性を追加できます。

于 2012-07-31T15:30:55.743 に答える