Я написал эту функцию ниже. Тем не менее, я продолжаю получать недопустимый аргумент функции в QTP. Объект - это ссылка в веб-таблице, и я продолжаю получать это сообщение об ошибке «Оператор содержит один или несколько недопустимых функций». Может кто-нибудь мне помочь?Оператор содержит один или несколько недопустимых аргументов функции в QTP
Function CheckData(Value_To_Match, Rpttext, ByRef Row_Num)
Dim tab_val, arr_val(2), rowNum
tab_val = Split(Value_To_Match,";")
arr_val(0) = Browser("xyz").Page("abc").WebTable("xsw").getColumnIndex(tab_val(0))
If UBound(tab_val) > 0 Then
arr_val(1) = tab_val(1)
arr_val(2) = Browser("xyz").Page("abc").WebTable("xsw").getMatchingRow(arr_val)
Row_Num = arr_val(2)
Browser("xyz").Page("abc").WebTable("xsw").MatchVal arr_val, Rpttext, "Verify"
Else
arr_val(1) = tab_val(0)
arr_val(2) = Browser("xyz").Page("abc").WebTable("xsw").getMatchingRow(arr_val)
Browser("xyz").Page("abc").WebTable("xsw").MatchVal arr_val, Rpttext, "Verify"
arr_val(2) = Row_Num
Browser("xyz").Page("abc").WebTable("xsw").MatchVal arr_val, Rpttext, "Check"
End If
End Function
If Trim(Parameter("DraftsViewDraftIcon")) <> "" And _
LCase(Trim(Parameter("DraftsViewDraftIcon"))) <> "[null]" And _
LCase(Trim(Parameter("Wrapper_Mode"))) ="set" Then
Set ViewDraftLink = Browser("xyz").Page("abc").WebTable("xsw").ChildItem(Row_Num, 4, "Link", 0)
ViewDraftLink.click
End If
Эта функция ниже для получения соответствующей строки
Public Function getMatchingRow(byRef object, byVal arraydata)
Dim introw
Dim varComp
On Error Resume Next
If UBound(arraydata) = 0 Then
Reporter.ReportEvent micFail, "Array Data", "No Data found in input parameter Array"
getMatchingRow = 0
Exit Function
End If
For introw = 1 to object.RowCount
varComp = StrComp(Trim(object.GetCellData(introw, arrayData(0))), Trim(arrayData(1)), 0)
If varComp = 0 And Not(isNull(varComp)) Then
getMatchingRow = introw
Exit Function
End If
Next
getMatchingRow = 0
On Error Goto 0
Можете ли вы пройдите через код и сообщите нам, в какой строке это происходит? Кроме того, код getMatchingRow представляется неполным - включите его вместе с любыми операторами RegisterUserFunc. – Xiaofu
Я получаю erroe в этой строке кода «Set ViewDraftLink = Browser (« xyz »). Страница (« abc »). WebTable (« xsw »). ChildItem (Row_Num, 4,« Link », 0) ViewDraftLink .click Конец Если – user3562506
у меня есть, что в операторах RegisterUserFunc уже есть код ниже, который я написал для этого. Спасибо! – user3562506