caibei 发表于 2010-6-2 11:18:21

请教:QTP对象不能识别

代码如下:
Dim sheetname, i, rowcount

sheetname = datatable.GetSheet(dtlocalsheet).Name
datatable.ImportSheet "E:\TEST\Excel.xls", "Sheet1", sheetname
rowcount = datatable.GetSheet(dtlocalsheet).GetRowCount
i = 0
Do until i>rowcount
      i = i+1
      datatable.GetSheet("Action1").SetCurrentRow(i)
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").WebEdit("userName").Set datatable("Login", dtlocalsheet)
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").WebEdit("password").Set datatable("Pwd", dtlocalsheet)
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").VirtualButton("login_button").Click
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select datatable("FromPort", dtlocalsheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 7,10
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Blue Skies Airlines$361$271$7:10"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").WebRadioGroup("inFlight").Select "Blue Skies Airlines$631$273$14:30"
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 32,11
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "f1"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "f2"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "1000"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebList("pass.0.meal").Select datatable("Meal", dtlocalsheet)
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 6,15
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("Logout").Click
Loop

脚本运行完毕后,出现错误提示框:“Cannot identify the object "fromPort"(of class WebList). Verify that this object's properties match an object currently displayed in your application”

在比较object仓库与runtime object 属性值后,未发现明显的区别?;"fromPort"对象的继承关系class等属性也是一致的,不知道问题出在哪里了,劳烦知道的同学,传授下经验!

TIB 发表于 2010-6-2 11:22:34

如果登录用户名、密码错误了,则登录不了,去不到指定的页面,这样也就找不到指定的对象了,检查一下datatable("Login", dtlocalsheet)和("Pwd", dtlocalsheet)取到的值

caibei 发表于 2010-6-2 11:44:56

回复 2# 的帖子

Dim sheetname, i, rowcount, mlogin, mpwd

sheetname = datatable.GetSheet(dtlocalsheet).Name
datatable.ImportSheet "E:\TEST\Excel.xls", "Sheet1", sheetname
rowcount = datatable.GetSheet(dtlocalsheet).GetRowCount
i = 0
Do until i>rowcount
        i = i+1
        datatable.GetSheet("Action1").SetCurrentRow(i)
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").WebEdit("userName").Set datatable("Login", dtlocalsheet)
mlogin = datatable("Login", dtlocalsheet)
msgbox mlogin
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").WebEdit("password").Set datatable("Pwd", dtlocalsheet)
mpwd = datatable("Pwd", dtlocalsheet)
msgbox mpwd

可以打印出登录名与密码!

sc_zk2008 发表于 2010-6-2 14:00:02

试试检查下是否有相同属性的对象存在

yylfchl 发表于 2011-10-19 14:23:02

SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","C:\Documents and Settings\pc003-2011","open"
Browser("百度一下,你就知道").WinEdit("Edit").SetSelection 0,21
Browser("百度一下,你就知道").WinEdit("Edit").Type "http://192.168.10.148:8080/ca"
Browser("百度一下,你就知道").WinEdit("Edit").Set "http://192.168.10.148:8080/cas"
Browser("百度一下,你就知道").WinEdit("Edit").TypemicReturn
Browser("百度一下,你就知道").Page("电子交易平台管理系统").WebEdit("empAcct").Set "yyl"
Browser("百度一下,你就知道").Page("电子交易平台管理系统").WebEdit("password").Click
Browser("百度一下,你就知道").Page("电子交易平台管理系统").WebEdit("password").SetSecure "4e9e6909c197016bc6d605678fda"
Browser("百度一下,你就知道").Page("电子交易平台管理系统").WebEdit("validcode").Click
Browser("百度一下,你就知道").Page("电子交易平台管理系统").WebEdit("validcode").Set "8020"
Browser("百度一下,你就知道").Page("电子交易平台管理系统").Image("dl").Click
Browser("百度一下,你就知道").Page("电子交易平台后台管理系统").Link("交易管理").Click
Browser("百度一下,你就知道").Page("交易管理").Sync
Browser("百度一下,你就知道").Close
回放出错:Cannot identify the object "交易管理" (of class Link). Verify that this object's properties match an object currently displayed in your application.
求帮忙解决

wx小鱼 发表于 2011-10-20 09:55:14

学习了
页: [1]
查看完整版本: 请教:QTP对象不能识别