51Testing软件测试论坛
标题:
如果我有一个超级连接,怎么录制
[打印本页]
作者:
chrisky2
时间:
2006-9-30 16:50
标题:
如果我有一个超级连接,怎么录制
如果我有一个超级连接,但超级连接的内容总是变化的,我改怎么处理。
如:一个Page里面有个查询功能,每次能根据查询条件查找出一条记录,这条记录里面一个字段显示的是工作证号码。 工作证号码 是个超级连接,可以通过点击它进入另外一个page.但是工作证号码每次查询出来的值都是不同的,我录制的时候可能是‘12345’,我把查询条件参数化后,但可能下次回放脚本的时候我查询出来的工作证号码是‘987654’。那么run就会失败。
我想过的解决方法:通过spy了解这个超级连接位置的x,y的值,对page的这个位置进行鼠标点击事件,但不知道怎么去实现。
不知道还有其他解决方法不?
作者:
chrisky2
时间:
2006-9-30 16:53
标题:
在线等
在线等
作者:
qrz2000
时间:
2006-9-30 17:26
参数化不可以吗?
作者:
chrisky2
时间:
2006-9-30 18:43
怎么对一个超级连接参数化?
作者:
xiaonan
时间:
2006-10-2 21:38
可以试试把工作证号码用正则表达式来表达
作者:
chrisky2
时间:
2006-10-8 15:40
标题:
把工作证号码用正则表达式来表达 ?
请指导,谢谢
作者:
xiaonan
时间:
2006-10-8 15:58
你可以去参看一下正则表达式啊,帮助里就有.
作者:
qsj_shao
时间:
2006-10-9 12:56
我也碰到过连接根据不同的状态得到不同名字的问题,我是通过参数化解决的.
这个工作证号码肯定也是从数据库中通过条件查询出来的吧,那可以通过条件查询数据库中的工作证号码,再将超连接的名称属性参数化成查询得到的工作证号码
我的代码如下:
'从数据库中取出 需要审批的tempid,这里可以改成取工作证号码
Set conntempid= createobject("ADODB.Connection")
conntempid.Open"DRIVER=SQL Server;Server="&strbendiserver&";UID=sa;Password=davey@citiz.net;DATABASE="&strbendidatabase
Set restempid= createobject("ADODB.Recordset")
restempid.Open "select * from recordsource where inpart = '/' order by sendtime" ,conntempid,1,3
strtempid = restempid("tempid")
strfeibaojinkulink ="非报关货物进库审批有"&strfeibaojinkucount&"条未审批"
Browser("Browser").Page("保税区海关加工贸易联网监管系统").Link("text:="&strfeibaojinkulink).Click'参数化link的text属性
作者:
Joan2005
时间:
2006-10-11 16:13
先收藏
作者:
chrisky2
时间:
2006-10-11 16:42
标题:
谢谢
谢谢
作者:
jacky9947
时间:
2007-3-22 18:54
先收藏好,以后再试试
作者:
you力
时间:
2007-3-22 23:47
我觉的参数化可以解决吧~取出数值后参数化
作者:
g1982xin
时间:
2007-3-23 11:17
标题:
感觉根据你的思路以下的方法可以实现
我想你可以使用描述性编成来实现
通过SPY抓你想要的LINK位置。
Set MyDescription = Description.Create()
MyDescription("x").Value = "xxx" 将你要定位的鼠标X点坐标写出来
MyDescription("y").Value = "xxx" 将你要定位的鼠标Y点坐标写出来
Browser("xxxxxxx").Page("xxxxxxxxxx").Link(MyDescription).Click
作者:
chbhaha
时间:
2007-3-23 15:54
学习了
作者:
htot05
时间:
2007-3-23 16:13
鼠标定位的方法太局限了,一些外界的因素很容易导致测试失败,比如说:屏幕的分辨率,换一种分辨率屏幕坐标就会发生变化,所以这种方法尽量少用甚至不用,还是用参数化比较好些~~sdlkfj6
作者:
wawa133
时间:
2007-3-26 17:57
楼上的方法适用于table类的.如果不是table的话,就不能用了.
作者:
ami冰河
时间:
2007-3-29 13:33
我现在在Globe里面有个DataTable叫Tree_Name,
然后语句就是:
Browser("****").Page("****").Frame("deptmentTree").Link("text:="&TREE_NAME).Click
对不?
可是运行的时候就死机了~
555
作者:
ami冰河
时间:
2007-3-29 14:51
完成了
完成了:
For intLoop = 1 to DataTable.GetRowCount
strText=DataTable.Value("TREE_NAME",dtGlobalSheet)
Browser("***").Page("***").Frame("deptmentTree").Link("text:="&strText).Click
DataTable.GetSheet(dtGlobalSheet).SetNextRow
Next
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2