51Testing软件测试论坛
标题:
当下拉框的值出现翻页情况,该如何使用循环语句判断翻页。
[打印本页]
作者:
chenwubia0
时间:
2012-5-9 15:44
标题:
当下拉框的值出现翻页情况,该如何使用循环语句判断翻页。
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
[attach]78916[/attach]
这两段代码是获取动态的datatable中的值,然后点击选中。
可是现在遇到了这个情况,当下拉框的值是“cw项目10”的时候,则会启动翻页功能,这时候就获取不到值了
除非中间加一段翻页的代码点击翻页按钮才会获取得到cw项目10
[attach]78917[/attach]
Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
所以这里有什么办法能判断下拉框中的值到了10条以上了就点击翻页按钮,也可以判断下页数来决定是否翻页
[attach]78918[/attach]
这个判断循环语句该怎么写呢?求高手帮忙
作者:
lifreshman0626
时间:
2012-5-9 16:29
你获取datatable中值的时候不就有个循环吗,然后 当循环的 变量%10 = 0 的时候就翻页,就行吧
作者:
chenwubia0
时间:
2012-5-10 15:13
回复
2#
lifreshman0626
Dim xmname
xmname = DataTable("项目名称", dtGlobalSheet)
If xmname ="cw项目11" Then
Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
End If
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
我写了一个判断语句。当项目名称的值等于cw11的时候启动项目名称翻页。但是不会写循环语句。
就是当项目名称等于cw项目21、31、41的时候会相应的启动项目名称翻页,而且翻页也会随着31翻页2次,41翻页3次。这样变化。
有知道写的朋友麻烦帮忙下。谢谢了
作者:
lifreshman0626
时间:
2012-5-10 16:42
本帖最后由 lifreshman0626 于 2012-5-10 16:47 编辑
Dim rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
For i = 1 to rowcount
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
If i mod 10 = 0 Then '这是在第11个翻页
Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
End If
datatable.SetNextRow
Next
复制代码
具体在10还是11翻页,你修改一下If i mod 10 = 0 Then 这块i的值就行
作者:
chenwubia0
时间:
2012-5-10 17:01
回复
4#
lifreshman0626
哥们这一句好像通过不了。Dim rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
作者:
chenwubia0
时间:
2012-5-10 17:02
回复
4#
lifreshman0626
我知道了。要这样写。
Dim rowcount
rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
不能直接赋值
作者:
chenwubia0
时间:
2012-5-10 17:09
回复
4#
lifreshman0626
运行到
Dim rowcount
rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
的时候报错。
对了,我忘了一个地方,当项目名称等于cw项目11的时候会翻页,等于cw项目12、13、14、15、16、17、18、19、20都要翻一次页。
等于cw项目21的时候则要翻两次页。兄台你的代码包括了这个需求吗?
作者:
6道9
时间:
2012-5-10 17:23
本帖最后由 6道9 于 2012-5-10 17:27 编辑
回复
7#
chenwubia0
他现在这个翻页代码肯定不满足你得要求,因为它只会在十的整数倍条的时候翻页,但是你可以把条件改为>=零啊!那么0,1,2,3,...,9都会翻了撒。
这样处理那么就存在一个问题:会不会它就会一直翻呢?!所以你还得先检查选项数大于十条。应该就可以完全满足你的需求了!
作者:
lifreshman0626
时间:
2012-5-10 20:30
本帖最后由 lifreshman0626 于 2012-5-10 20:33 编辑
Dim rowcount,clickcount
rowcount = datatable.GetSheet("dtGlobalSheet").GetRowCount
For i = 1 to rowcount
clickcount = int((i-1)/10) ' 这是在i为11-20的时候,翻页一次,i为21翻页两次
For j = 1 to clickcount
Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
next
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
datatable.SetNextRow
Next
复制代码
哥们加个好友吧,237184453 李新生
作者:
chenwubia0
时间:
2012-5-11 10:59
回复
9#
lifreshman0626
Dim rownum,clickcount
rownum = DataTable.GetSheet("Global").GetCurrentRow
clickcount = int((rownum-1)/10) ' 这是在rownum为11-20的时候,翻页一次,rownum为21翻页两次
For j = 1 to clickcount
Browser("业务管理系统").Page("业务管理系统").Frame("Frame_2").WebButton("项目名称翻页").Click
next
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").SetTOProperty "innertext", DataTable("项目名称", dtGlobalSheet)
Browser("业务管理系统").Page("业务管理系统").Frame("Frame").WebElement("cw项目01").Click
复制代码
感谢哥们。感谢CCTV,感谢AV。问题终于解决了。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2