大家好,这里放上100分,希望和大家讨论一个技术问题.目前我的权限只能放100分,大家见谅
问题说起来很简单,就是如何用JAVA识别GUI对象,这个问题里我想和大家讨论两种,一个是IE,一个是DELPHI.
不知道有多少人是做自动化测试,目前市场上有很多自动化测试,支持录制/回放的操作,例如QTP,RFT,都可以支持对IE的录制和回放,那我的问题就是,这些工具是用什么技术实现 了对GUI对象的识别和操作的?
比如说现在我们有一个IE界面,页面上有一个"确定"按钮,该按钮有一个ID属性为"confim",OK,就这样.我现在的需求是:如何使用JAVA语言在IE页面中识别出这个对象,并执行点击操作?可能很多人还迷惑我倒底想问什么,我们再说的细一些,比如说JAVA有ROBOT类可以实现键盘和鼠标的模拟操作,如果我们用ROBOT去点击页面中的那个确定按钮,那么我们必须传递屏幕坐标吧,那么问题就是如何用JAVA语言去获取那个按钮的屏幕坐标,这里用到了哪些技术?或者实现的原理是什么?如果是DELPHI的话,这里面的原理或技术是否又通用?
我的技术比较浅,对于这个问题完全不知从何下手,恳请大家赐教,哪怕是一个思路,一个方向都行,甚至于几个相关的技术关键词都对我有莫大的帮助.谢谢大家了.给分一定及时

解决方案 »

  1.   

    不是刷广告,我自己是做功能自动化测试的,我需要实现对DELPHI的自动化测试,但是现在不知道用什么方法可以让JAVA识别出DELPHI的对象(获取坐标),所以才发起这个话题的.
      

  2.   


    不知道Snapit是怎么实现的
      

  3.   

    在js里好像可以判断元素的客户端桌面坐标,但是java里估计是没办法,你尝试在js里查找坐标然后再用ajax传到java试试
      

  4.   

    这种功能只能在JavaScript上实现,
    用Java做不到。
      

  5.   

    如果被测的系统是delphi呢,用JAVA有办法获取到DELphi按钮的屏幕坐标吗?或者有其他语言或技术支持?
      

  6.   

    答:用JAVA当然可以
    1)那么问题就是如何用JAVA语言去获取那个按钮的屏幕坐标:
    获取按钮的屏幕坐标 jButton.getLocationOnScreen()将返回一个Point对象,表示那个按钮的屏幕坐标
    2)判按钮是不是包含某个mouse坐标(x,y):jButton.contains(int x,int y)3)以及其它的操作...
      

  7.   

    QTP(quick test professional)
    试一试。
      

  8.   

    QTP是能实现这个功能,但是我现在想知道它是怎么做到的.现在公司里面临着对DELPHI自动化测试的任务,不交接它的内部原理,很多工作都寸步难行啊.这有点象刘谦的魔术,虽然知其然,但是能知其所以然才是最快乐的事情,呵呵.
      

  9.   

    的确是,只是现在我面临的任务是对DELPHI的程序进行自动化测试,如果能通过JAVA获取事件源,那是最理想的解决方案,但是估计编码的工作量会很大,所以为了简单起见,就考虑先获取DELPHI控件的屏幕坐表,然后通过JAVA的ROBOT类去实现点击等操作
      

  10.   

    如果你获取屏幕坐标,那也仅限于用标准方法实现的控件外观(缺省的)!
    否则用户来个定制控件,比如button,把它做成类似textfield的样子,你怎么识别它原来是button啊?