Tomasz D.

Tomasz D. test entrepreneur

Temat: QTP WebTable exists

Potrzebuję sprawdzić czy tabela o nazwie Address istnieje na stronie.
Próbuję to zrobić poniższym kodem...

Public Function verifyTable
Set objPage = Browser("title:=btitle", "openedbytestingtool:=True").Page("title:=ptitle")
If objPage.WebTable("html tag:=TABLE", "text:=Address").Exist(1) Then
msgbox "pass"
Else
msgbox "fail"
End If
End Function

Ale nie wychodzi, bo pomimo tego, że table jest to zawsze dostaję fail.

Gdzie jest błąd?
Tomasz D.

Tomasz D. test entrepreneur

Temat: QTP WebTable exists

Ok, problem jest taki, że QTP nie rozpoznaje Browser i Page. Jak dodałem Browser i Page do Object Repository, wszystko jest ok ( tzn. nie do końca, bo nadal nie moge się odwałać przez "title:=" tylko musze podać nazwę z repozytorium ).

Pytanie więc inne, czy można zrobić taki check bez obiektów w repozytorium?
Łukasz K.

Łukasz K. powrot do biegania

Temat: QTP WebTable exists

mozesz na 100%, nie musisz miec nic w rep by skrypty dzialaly...
ale nie powiem ci w tej chwili jak to zrobic bo mam goraczke i parszywie sie czuje:)

napisz do Pawla Paski, on duzo siedzial w QTP piszac skrypty korzystajac z descriptive programming
Paweł Paska

Paweł Paska IT
Consultant/QA/Softwa
re Quality
Engieneer/Analyst

Temat: QTP WebTable exists

Witka,

spróbuj np. tak:

funkcja weryfikacji

Public Function verifyTable
Set objBrowser = Browser("title:=Google")
Set objPage = objBrowser.Page("title:=Google")
If objPage.WebTable("html tag:=TABLE", "text:=Przeglądaj internet szybciejZainstaluj Google Chrome").exist Then
msgbox "pass"
Else
msgbox "fail"
End If
End Function

otwieranie przegladarki IE

Function startBrowser(URL)
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = True
IE.Navigate URL

End Function

wywolanie

startBrowser("http://www.google.pl/")
verifyTable()

Pozdro,
PP
Tomasz D.

Tomasz D. test entrepreneur

Temat: QTP WebTable exists

Odkopię na chwilkę temat. Moje kolejne boje z QTP...

Potrzebuję zrobić coś, jeśli podany tekst jest gdzieś w web elemencie na stronie, i tak myślałem, że wystarczy otoczyć tekst .* w poniższy sposób

If objPage.WebElement("innertext:=.*" & vName & ".*").Exist(3) Then

, ale się pomyliłem, bo True jest tylko wtedy jeśli innertext = vName, a nie jeśli gdziekolwiek w innertext jest vName.

Pytanie, jak użyc wildcardów lub jak zbydować ifa, żeby zwrócił true, jeśli na stronie znajdzie się web element z innertextem zawierającym dany tekst?
Łukasz K.

Łukasz K. powrot do biegania

Temat: QTP WebTable exists

hej, znalazlem w swoim archiwum jakas takas staroc:

Function find_text(ByVal Textvalue )
set objpage = Browser("Translators Desktop").Page("Note")
On error resume next
Set childobjdes = Description.Create()
childobjdes("micclass").value="WebElement"
childobjdes("html tag").value=".*[A-Za-z0-9].*"
childobjdes("outertext").value =".*[A-Za-z0-9].*"
set allobj = objpage.ChildObjects(childobjdes)
iTableCount = allobj.Count

For i=1 to allobj.count-1
output= output & allobj.Item(i).GetROProperty("outertext")
Next
visible = instr(1,lcase(output),lcase(Textvalue))
If visible > 0 Then
Reporter.ReportEvent micPass, "EXPECTED RESULTS", "Text **"&Textvalue&"** is visible"
find_text = "pass"
Else
Reporter.ReportEvent micFail, "EXPECTED RESULTS", "Text **"&Textvalue&"** is not visible"
End If
On Error GoTo 0
End Function

wolne toto, pewno kiepskie itp, ale wyszukuje z tego co pamietam:)

Następna dyskusja:

Co bym zmieniła/zmił w QTP




Wyślij zaproszenie do