【问题标题】:Window object recognition using RFT on Print Dialogue在 Print Dialogue 上使用 RFT 识别窗口对象
【发布时间】:2014-03-06 21:26:09
【问题描述】:

为什么 RFT 不能识别我在 Windows 打印对话框中的对象。包括几个屏幕截图。

我能够通过

获得正确的activeWINdow

TestObject[] 到 ; IWindow activeWindow = RationalTestScript.getScreen().getActiveWindow(); System.out.println("活动窗口的类是 "+activeWindow.getCLass()): // 返回 #32770

ScreenTestObject root = RootTestObject.getScreenTestObject();

to = root.find(atLIst(atDescendant(".class", false),atChild(".class", ".Pushbutton", ".text", "Print"))) ;

显然我无法发布图片。这是打印窗口和打印按钮属性屏幕截图的链接 http://www.flickr.com/photos/24358027@N07/12977082214/in/set-72157641973533994 ...决议太可怕了,如果有人需要,我可以输入所有信息。抱歉,提前致谢。

【问题讨论】:

  • 这个打印对话框来自哪个父窗口?我的意思是它来自 IE /FF 还是记事本或其他一些应用程序?正如您对对象图的理解一样,我认为 RFT 能够在录制期间识别控件,但在播放期间不能识别在播放期间抛出的错误(如果有的话)是什么? .您粘贴的上述代码也不起作用吗?还是您所指的分辨率?
  • 打印窗口来自 IE,我将代码包裹在 try catch 中,所以在播放过程中,只是该步骤失败并出现未找到测试对象,如警告。上面的代码或 Archiekins 发布的解决方案是我试图找到“打印”按钮的众多解决方案之一,但 RFT 就是看不到它。

标签: rft


【解决方案1】:

试试下面的代码 sn-p。我尝试从记事本启动打印对话框并运行下面的脚本以找到打印按钮并单击它。希望它有所帮助。

//Find the Print button
TestObject[] to = find(atDescendant(".class",".Pushbutton",".text","Print"),true);
System.out.println(to.length);
//If you are sure you have just one print button on screen. 
if(to.length==1)
    ((GuiTestObject) to[0]).click();
//Else traverse through the found object and compare the properties of the button you want to click

【讨论】:

  • 谢谢盖兹。 @Archiekins,感谢您的解决方案,但它不起作用,此时我假设它必须是 RFT 安装上的错误,我有一个类似的窗口,一旦我有了窗口,我就可以看到所有通过 activeWindow.getChildre() 对孩子采取行动。此打印窗口与其他窗口具有相似的属性,RFT 只是无法识别任何具有相同属性名称(不同值,ofCourse)的子项。
【解决方案2】:

更新:我为此做了一个解决方法,使用选项卡进行导航。一旦 Tab 位于按钮上,我输入 Enter。所以这不再是停工问题,但我确实需要找出正确的方法来做到这一点。 谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 2012-10-02
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多