QTP: Einstellung WebEdits innerhalb von WebTable mit ChildItem-Methode funktioniert nicht für die Zeilen, die andere als erste Zeile
Ich bin mit Webtable ChildItem-Methode in QTP um die WebEdit und WebCheckbox und hat folgende Themen
-
In der Ersten Zeile wird der Wert für die 2. Spalte (WebEdit) und die 4. Spalte (WebCheckbox) richtig, aber für die 3. Spalte (WebEdit) es setzt den Wert und sobald es sich um die vierte Spalte setzt ihn auf den alten Wert.
-
Auch für die zweite Zeile ab, es gibt Fehler wie
Objekt erforderlich: 'WebTable(...).ChildItem(...)'
Bitte führe mich in dieser Angelegenheit.
Hier ist der code, den ich verwende:
Set objFrame = Browser("Browser").Page("Page").Frame("Frame")
If objFrame.WebTable("WebTable").Exist(0) Then
rowct = objFrame.WebTable("WebTable").RowCount
isFound = 0
For i= 2 To rowct
strText = objFrame.WebTable("WebTable").GetCellData(i,1)
index = i-2
If Instr(strText,strType) > 0 Then
objFrame.WebTable("WebTable").ChildItem(i,2,"WebEdit",index).Set strNumber
objFrame.WebTable("WebTable").ChildItem(i,3,"WebEdit",index).Set strNumber2
objFrame.WebTable("WebTable").ChildItem(i,4,"WebCheckBox",index).Set strPreferred
isFound = 1
Exit For
End If
Next
If isFound = 0 Then
rowct = objFrame.WebTable("WebTable").RowCount
row= rowct + 1
index = row - 2
objFrame.WebButton("Button").Click
objFrame.WebTable("WebTable").ChildItem(row,1,"WebList",index).Select strType
objFrame.WebTable("WebTable").ChildItem(row,2,"WebEdit",index).Set strNumber
objFrame.WebTable("WebTable").ChildItem(row,3,"WebEdit",index).Set strNumber2
objFrame.WebTable("WebTable").ChildItem(row,4,"WebCheckBox",index).Set strPreferred
End If
End If
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die Ursache für die Fehlermeldung, die Sie erhalten:
Das vierte argument der ChildItem-Methode auf eine WebTable ist der index des zurückgegebenen childitem (WebEdit in diesem Fall) auf, dass die Zeilen - /Spalten-Kombination.
Also, was ist passiert: Auf die erste Gefundene Zeile mit Inhalt (nr. 2) der index wird 0, aber auf der zweiten iteration der for-Schleife der index wird 1. QTP kann nicht finden, eine zweite WebEdit-Objekt auf die Zeile /Spalte wird ein Fehler zurückgegeben.
Also, nutzen Sie
index = 0
zu lösen, dass man.Für Ihre erste Frage, was passiert, wenn Sie die Reihenfolge ändern: stellen Sie die WebCheckBox erste und dann die zweite WebEdit:
Können Sie sagen, was ist jetzt passiert?