51Testing软件测试论坛

标题: 导入的数据库无法走到下一行 [打印本页]

作者: shuishixingyu    时间: 2009-1-7 10:53
标题: 导入的数据库无法走到下一行
Dim mylink,Row,i
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
DataTable.SetCurrentRow(1)
mylink=DataTable.Value("mylink",1)
For i=1 to Datatable.GetRowCount
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.GetSheet("Global").SetNextRow
Next
[attach]48332[/attach]
只能打开“博客”的网页,而且不知道为什么会循环了4次,打开了4个“博客”的网页
我在action中设了run on all rows 也是如此,请问是为什么?谢谢
作者: jindouguang    时间: 2009-1-7 11:26
你看看 你的 xls文件里面的是否多了几行测试数据啊
作者: david208    时间: 2009-1-7 11:47
mylink=DataTable.Value("mylink",1) 要放到for里
另外一个我吃饭后再说
作者: shuishixingyu    时间: 2009-1-7 11:50
标题: 回复 2# 的帖子
我已经专门在excel中清了下了,还是这样
作者: shuishixingyu    时间: 2009-1-7 11:53
原帖由 david208 于 2009-1-7 11:47 发表
mylink=DataTable.Value("mylink",1) 要放到for里
另外一个我吃饭后再说


"测试视频"的网页能打开了,谢谢啊,但是为什么要放在for里呢?还有个循环问题
作者: david208    时间: 2009-1-7 12:32
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
改为
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
作者: shuishixingyu    时间: 2009-1-7 13:03
原帖由 david208 于 2009-1-7 12:32 发表
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
改为
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2


改了后,没有反应唉
作者: david208    时间: 2009-1-7 13:18
DataTable.GetSheet("Global").SetNextRow
改成
DataTable.GetSheet("action1").SetNextRow
作者: shuishixingyu    时间: 2009-1-7 13:42
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
没有把excel导入,
DataTable.GetSheet("action1").SetNextRow
打开重复的网页
作者: shuishixingyu    时间: 2009-1-7 13:48
Dim mylink,Row,i

DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
DataTable.SetCurrentRow(1)

For i=1 to Datatable.GetRowCount
        mylink=DataTable.Value("mylink",1)
        Browser("中国测试社区 powered by www.3atestin").Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
        DataTable.GetSheet("Global").SetNextRow
Next

这样可以打开“博客”和“测试视频”的网页,就是会有循环出现2次“博客”和“测试视频”,还有这里很奇怪,用了描述性语言就会出错,说找不到父对象
作者: david208    时间: 2009-1-7 14:04
不要使用global,用action1.
作者: shuishixingyu    时间: 2009-1-7 14:38
用Action1,还是出来4个“博客”页面
作者: david208    时间: 2009-1-7 15:16
标题: 11
额 你在看看

[ 本帖最后由 david208 于 2009-1-7 16:22 编辑 ]
作者: shuishixingyu    时间: 2009-1-7 15:39
没有反应,也没新网页打开,也没报错,晕了
作者: david208    时间: 2009-1-7 16:21
嗯,datatable.import导入到global会有问题,导入的行数决定了循环导入的次数!

所以尽量使用action1这种本地的。

Dim mylink,Row,i
DataTable.ImportSheet "C:\\Documents and Settings\Administrator\桌面\data.xls" ,1 ,2
DataTable.SetCurrentRow(1)
for  i =1 to  Datatable.GetSheet("Action1").GetRowCount
mylink=DataTable.LocalSheet.getparameter("mylink")
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.getsheet("Action1").SetNextRow
next

这个试下

[ 本帖最后由 david208 于 2009-1-7 16:42 编辑 ]
作者: shuishixingyu    时间: 2009-1-7 17:11
报错,显示
[attach]48386[/attach]
作者: blueeagle9999    时间: 2009-1-7 17:13
我还出现过读取的数据读了几行后又返回重头开始读,于是我用了下面的办法

for  i =1 to  Datatable.GetSheet("Action1").GetRowCount
DataTable.SetCurrentRow(i)    ‘在这里设置当前行
mylink=DataTable.LocalSheet.getparameter("mylink")
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
DataTable.getsheet("Action1").SetNextRow
next

你可以试下,至于它为什么会乱跑行,我还想不清楚。
作者: shuishixingyu    时间: 2009-1-8 09:04
谢谢,david208、blueeagle9999、jindouguang的热心帮助,问题已解决
请问,为什么要把DataTable.SetCurrentRow(i)   
放在循环中呢?
作者: lingxin5013    时间: 2009-1-8 10:29
Dim mylink,Row,i
DataTable.Import "C:\\Documents and Settings\Administrator\桌面\data.xls"
mylink=DataTable.Value("mylink",1)
For i=1 to Datatable.GetRowCount
DataTable.SetCurrentRow(1)
Browser("中国测试社区 powered by www.3atestin).Page("中国测试社区 powered by www.3atestin").Link("text:="&mylink).Click
'DataTable.GetSheet("Global").SetNextRow
Next
'直接运行肯定可以,你的setcurrentrow位置不对




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2