51Testing软件测试论坛

标题: silktest的TABLE识别不了的问题 [打印本页]

作者: andywesley    时间: 2009-7-27 15:37
标题: silktest的TABLE识别不了的问题
我有个TABLE,单元格里有图片,找了帮助Definition of a table
?a table with 2 or more rows (specified with the <tr> tag in the page source)
?where at least 1 row has 2 or more columns (specified via the <td> tag in the page source)
A single <td> with a colspan >1 does not qualify as 2 or more columns.
觉得好像是这个问题,求教高手如何解决

(TABLE层次选项什么的都设置过了)
作者: jmy_1981    时间: 2009-7-27 17:21
标题: lz你的出错是什么啊?
如题。

Definition of a tablelz的意思是你的页面是A single <td> 加一组 colspan >1 所以不满足qualify as 2 or more columns Silk的要求是吗,而不被认为是table吗?
lz的html tag能发一下吗?

lz能给一个报错吗?

你是E_WINDOW_NOT_FOUND
还是E_ROW_INDEX_INVALID

如果是window not found,那估计Silk真的不把你的aut的对象当table了,lz试试键盘和鼠标事件吧。

另外,lz的borderless从.76改到多少了?

希望有帮助。
作者: andywesley    时间: 2009-7-28 11:26
[-] AIHtmlDataTable 积分和兑换历史
    [-] multitag ">>"
        [ ] "^>>"
        [ ] "#1"
        [+] HtmlColumn 时间
                [-] multitag "时间"
                        [ ] "#1"
        [+] HtmlColumn 项目说明
                [+] multitag "项目说明"
                        [ ] "#2"
                [+] HtmlPushButton HtmlPushButton1
                        [ ] tag "#1"
.....................................................
这是我后来录制得到的,期间我修改了domex.ini,加了Options,ShowHtmlForm=FAlSE;ShowBorderlessTableFlags=img|hidden;
因为通过页面的源码,我分析原因是因为TABLE里有一个FORM,这个FORM里有按钮图片等,然后看了SILKTEST对TABLE的定义,觉得应该是这个问题

但是我这样子做是可以部分解决问题,但是第二天我再来的时候,回放时依然找不到我录制得到的TABLE,仍然全部是TEST,反复调整设置后,才弄好,应该还有哪边没弄好

出的错是E_WINDOW_NOT_FOUND,因为我们被测系统的问题,项目中borderless=0.9,调整borderless发现0.8以上才能录到TABLE,为了完整性,就调整到0.9,跟这个没什么关系,调满也没用

至于键盘鼠标等只是操作,对我没什么意义,我需要的是得到完整的数据,并且到数据库中进行校验,如果录不到TABLE。全是TEST,数据无法得到

另外,我的项目被测系统就是中国上海移动的网上营业厅,jmy_1981你可以登陆上去看,不过需要有积分的,因为这个模块是  积分服务-》积分查询-》积分和兑换历史,我觉得这个问题属于SILKTEST深层次的问题,jmy_1981可以看看,我们可以通过其他途径详细交流交流,研究研究,呵呵
作者: andywesley    时间: 2009-7-28 11:31
我的QQ是282848216,有兴趣加我好友
作者: andywesley    时间: 2009-7-28 11:48
AIHtmlDataTable 是我对HtmlTable的扩展,修改domex.ini只是做尝试,为了不对其他的功能块有影响,实际我的做法是在程序里使用BrowserPage.SetUserOption方法来修改选项
作者: lantianwei    时间: 2009-7-30 11:37
标题: 回复 1# 的帖子
I think below information is useful for you:

GhostTable is a class which turns itself on and off as needed by using whatever value is required to make the table appear.

winclass GhostTable     :  HtmlTable
  setting DontInheritClassTag = TRUE
  // create this data member in your ghost table and
  // set this to the value required to make this table
  //  "appear" to SilkTest
  REAL rBorderlessTableSetting
  REAL rOldSetting
  void Appear ()
     WINDOW wParent
     // find the top level parent of this instance
     wParent = GetTopLevelItem (this)
     // grab the current setting
    this.rOldSetting = wParent.GetUserOption ("ShowBorderlessTables")
     // set to the new setting for the parent
        wParent.SetUserOption ("ShowBorderlessTables", rBorderlessTableSetting, USEROPT_WINDOW)
Additionally, there's a Vanish method that , sets the ShowBorderlessTables setting back to the original. The methods for the HtmlColumn class call this class method so that you can call HtmlColumn methods as well. The downside to this is that it will be required to rewrite the HtmlTable and HtmlColumn classes to first use Appear and then Vanish e.g.

INTEGER GetColumnCount ()
    INTEGER iRtn      
    // make the table appear
    Appear ()      
    // get the built-in method's value
    [-] do
      [ ] iRtn = derived::GetColumnCount ()
    [-] except
      [ ] Vanish ()
      [ ] reraise      
    // make the table disappear
    Vanish ()
    [ ] return iRtn




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