生活就该追求零缺陷。

RFT自动化时的Widget is disposed问题解决办法

上一篇 / 下一篇  2011-07-27 13:53:30 / 个人分类:RFT工具

在RFT工具里,使用API获取对象的方式实现自动化测试经常会出现如下异常:

org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:3884)
    at org.eclipse.swt.SWT.error(SWT.java:3799)
    at org.eclipse.swt.SWT.error(SWT.java:3770)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)

主要原因很简单,主要是执行对象所在的Shell已经关闭了,Shell关闭之后再去使用Shell的内部组件自然会报Widget is disposed的提示。一般场景是先打开了一个Shell,然后在Shell里面执行一系列动作后关闭了Shell,再打开该Shell执行其他操作时,如果你的代码仍然使用第一次操作的Shell对象就会出现这样的问题。

为了解决这个问题,简单的做法是在第二次操作的Shell对象需要重新获取,即在自动化代码里面重新获取对象所在的Shell,再从Shell中获取所执行的对象。

 


TAG:

 

评分:0

我来说两句

eckal.wang

eckal.wang

一个为零缺陷而奋斗的人。

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 22662
  • 日志数: 19
  • 建立时间: 2011-05-31
  • 更新时间: 2011-11-15

RSS订阅

Open Toolbar