2012-11-16 38 views
1

我希望能够识别始终已经打开的Eclipse窗口,因此我永远不需要使用SilkTest打开它。有没有办法可以将基本状态设置为始终打开的窗口?似乎设置基本状态的方式也指定了可打开的可执行文件。可执行文件不一定总是在相同的位置,配置它会很麻烦。在始终已打开的Eclipse上执行SilkTest操作?

这可能吗?我已经试过desktop.<Window>find("//Window[@caption='Java EE*']");,这是行不通的。

回答

2

丝绸测试的基本状态做多件事情:

  • 告诉丝绸测试要测试
  • 找到应用程序,应用程序,如果运行
  • 否则将启动应用程序

显然你不需要第三步,但其他两个仍然是必需的。 我建议使用*eclipse.exe作为可执行模式,并使用已有的定位器"//Window[@caption='Java EE*']",如果您执行基本状态,它应该返回Eclipse Eclipse的主窗口,并且您可以轻松前往。

+0

这解决了我最初的问题。但是,当我开始测试时,它似乎改变了一些关于Eclipse的内容,这样在后续测试中我不能通过相同的BaseState引用它。测试完全相互独立。唯一保持活动的是SilkTest Open Agent。从本质上讲,我第一次使用你描述的基本状态运行测试,它工作正常。然而,后来的尝试未能找到Eclipse,尽管就我而言,没有任何改变。有任何想法吗? – Tom

+0

我猜想从第一个测试中关闭eclipse窗口比Silk Test意识到的要长 - 第二个测试的基本状态可能会找到即将消失的旧实例。为了验证这个理论,你可以使用'closeSynchron()',也许还可以在关闭后添加一个足够长的睡眠时间(这样可以保证旧窗口不见了)。 – tehlexx

+0

它实际上并没有关闭窗口。它是一个使用SilkTest对象和其他一些东西运行测试的线程。它在Eclipse中运行。我想访问Eclipse,因为有一个JBoss服务器在运行。根据测试对我的应用程序的作用,服务器有时需要重置。我正试图通过Silk以编程方式完成此操作。就好像可执行文件在我运行第一次测试后发生了变化。现在,重置Eclipse窗口引用的唯一方法是重新启动Eclipse和Open Agent。我想避免的额外步骤。 – Tom

相关问题