51Testing软件测试论坛

标题: 关于网页表格中的字段进行排序 [打印本页]

作者: caodongjian    时间: 2007-12-5 11:17
标题: 关于网页表格中的字段进行排序
在网页中.点击Company Name字段对各行字段下的行进行排序(第一个字符)
两种排序1)升序 按先数字--后字母 顺序 (不分大小字)
              2)减序 与升序相反
怎么来判断排序是否正确呢? 要读取每一行的第一个字符对行对比吗?请各位大虾提示提示啊, 呵呵.最好提供一些用法
作者: xiaoyaoke    时间: 2007-12-5 11:46
标题: 想了想
因为需要是要比较排序结果是否正确,所以感觉写一个函数循环比较i和i+1就可以了,只要有一个反例就可以说明排序不成功
至于具体代码,楼主自己写吧
作者: zhou840401    时间: 2007-12-5 15:01
从成本上看,这可是费事不讨好的哦.有一种情况就是顺序颠倒了(预期是各式序,结果为降序),感觉只需要检查第一和第二个就可以了,只要前面的排对了,后面出错基本就不太可能.
作者: caodongjian    时间: 2007-12-5 15:02
Dim tableObj2,temp2, count3
ableObj2= Browser("HP Solution Demo Portal").Page("HP Solution Demo Portal_7").WebTable("Company Name").RowCount
For i=2 to tableObj2-1
string_x = Browser("HP Solution Demo Portal").Page("HP Solution Demo Portal_7").WebTable("Company Name").GetCellData( i,1)                   ' /* 如果有子项可以用getsubitem */
x = left(string_x, 1)                                                          '/* 拿首字母 */
string_y = Browser("HP Solution Demo Portal").Page("HP Solution Demo Portal_7").WebTable("Company Name").GetCellData( i+1,1)
y = left(string_y, 1)
nx = asc(ucase(x))
ny = asc(ucase(y))
Next
If nx <= ny then                                                               '/* x 的ASII 要在 y 的前面,字母序 */
  Msgbox" 排序成功"
else
  Msgbox "排序错误"
end if
跑成功了.但偶都不知道对不对
作者: caodongjian    时间: 2007-12-5 15:03
有没有大虾对我上面的说说..是不是正确.可以来判断 3Q
作者: hsjzfling    时间: 2007-12-5 21:05
标题: 回复 4# 的帖子
你的代码只是判断了每一行的第一个字符是否是升序排列的。。。但并不能就此判断整个字符串也是升序排列。
举个例子,你的这段代码并不能正确判断
00_a
02_b
01_c
是否正确排序。

当第一位的字符相同的时候,需要比较第二位,依次类推。(再加个循环就好了)
记得还要考虑代码能区分以下这种情况
00_a
00_abc
00_ab

[ 本帖最后由 hsjzfling 于 2007-12-5 21:06 编辑 ]
作者: walker1020    时间: 2007-12-5 23:24
楼主可以请教一下开发人员, 他很快就能帮你把代码写好的,如果他会 VBSript并且愿意帮你的话。另外, 一般说“降序”,而不是说“减序”
作者: walker1020    时间: 2007-12-5 23:25
任何一本 数据结构的书里面 都会讲到 排序。楼主可以去看一下
作者: zh_51testing    时间: 2009-4-23 16:31
标题: Can I help you?
browser("").Page("").WebList("").Select("")
totalRow = Browser("").Page("").WebTable("").RowCount
For i = 1 to totalRow-1
        itext1 = Browser("").Page("").WebTable("").GetCellData(i,2)
        itext2 = Browser("").Page("").WebTable("").GetCellData(i+1,2)
        For j = 1 to 18
                firChar1 = Mid(itext1,j,1)
                firChar2 = Mid(itext2,j,1)
                If  firChar1 = firChar2 Then
                        'msgbox "should compare the next character."
                Else
                        itext1Asc = Asc(firChar1)
                        itext2Asc = Asc(firChar2)
                        If  itext1Asc < itext2Asc Then
                                'msgbox "should jump out this loop, compare next two lines"
                                Exit For
                        Else
                                msgbox "sort ascending failed, taken places on " & i & " and " & i+1 & " lines"
                                ExitAction(-1)
                        End If                       
                End If
        Next
Next
msgbox "sort ascending successfully!"
作者: 风雪夜归人    时间: 2009-4-23 23:04
我觉得判断 Company Name 后面的那个Image就可以了,如果是个image的话,我觉得应该是个image,我以前判断sub tree的时候遇到这个问题,就是判断图片的。。你可以录制两个不同的image,然后判断image是否存在。




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