Try FEST framework. This is what was previously known as Abbot, if I'm not mistaken. I use this for automated testing and it seems to be very simple and convenient. Simple things are made easy and complex things are not a rocket science there. I considered UISpecj4j, but it didn't suite me, because there is no technical possibility to test Drag'n'Drop while it's a must. Besides it's quite difficult to develop tests when you don't actually see what's happening (UISpec4J uses fake, invisible look'n'feel)
The only thing is making troubles in FEST (also, by design) - it grabs a mouse and doesn't let you do anything while it running a test.
The reason Selenium can't do this is that it uses Javascript running in the web browser to do the testing. It simulates clicking buttons, entering data, etc via Javascript. If Javascript is disabled, it won't work. And since Swing/AWT apps don't have Javascript, Selenium won't work on them, either.
如果您有 Visual Studio 2010,还可以使用新推出的 Visual Studio UI 自动化测试(也称为编码 UI)。 这有点像使用 Selenium 和 ui-map。
If you have Visual Studio 2010, you could also use the newly introduced Visual Studio UI Automation Testing (also known as Coded UI). It's a bit like using Selenium with an ui-map.
uispec4j is an open-source alternative. I haven't tried it yet, though. (I'm currently collecting lists of things to try as well, so thanks for asking the question!)
Selenium is JavaScript based Framework so can only run on things that can execute JavaScript. Browsers do this natively.
As far as I am concerned there isn't really a Testing Framework that is comparable to Selenium on the desktop because it is quite hard to write a framework that hooks into the OS as natively as Selenium Hooks into the Browser. Popular, not necessilary best, are QTP, SilkTest, TestComplete
If you are looking for an open-source tool, have a look at Marathon. It lets you record and play back tests, generate reports, and integrate your own code for testing custom components. I've been using it for several years and have hundreds of tests.
There is also a commercial version with more features, but I have not tried it. The open-source version works great for me.
Sikuli is a technology born in MIT UI Design group that allows to automate computer operations using computer vision. Computer vision recognizes patterns from screenshots of graphical user interfaces (GUI) and Jython script language is used to take actions on them. Language includes graphical elements and is best edited with IDE that comes with the software. Sikuli can be used for automated software testing, like Selenium is used to control a web page, it can control pretty much any interface that it can recognize and click or enter text - PC (Windows, Mac OS X and Linux) applications, and even an iPhone or Android application running in a simulator or via VNC.
Sikuli API for Java provides image-based GUI automation functionalities to Java programmers. It is created and will be actively maintained by Sikuli Lab. This new Java library has a re-designed API and includes several new functions that were not available in the original Sikuli Script, such as the abilities to match colors, handle events, and find geometric patterns such as rectangular buttons. Moreover, it has a greatly simplified build process based on Maven.
发布评论
评论(11)
尝试FEST 框架。
如果我没记错的话,这就是以前所说的 Abbot。 我用它来进行自动化测试,看起来非常简单方便。 简单的事情变得容易,复杂的事情在那里也不是火箭科学。 我考虑过 UISpecj4j,但它不适合我,因为在技术上无法测试 Drag'n'Drop,而这是必须的。 此外,当你看不到实际发生的情况时,开发测试是相当困难的(UISpec4J 使用假的、看不见的外观和感觉)
唯一的事情是在 FEST 中制造麻烦(也是设计使然) - 它抓住了鼠标,但没有运行测试时不允许您做任何事情。
Try FEST framework.
This is what was previously known as Abbot, if I'm not mistaken. I use this for automated testing and it seems to be very simple and convenient. Simple things are made easy and complex things are not a rocket science there. I considered UISpecj4j, but it didn't suite me, because there is no technical possibility to test Drag'n'Drop while it's a must. Besides it's quite difficult to develop tests when you don't actually see what's happening (UISpec4J uses fake, invisible look'n'feel)
The only thing is making troubles in FEST (also, by design) - it grabs a mouse and doesn't let you do anything while it running a test.
我们使用 TestComplete。
We use TestComplete.
尝试使用 Abbot Java GUI 测试框架。
Try the Abbot Java GUI Test Framework.
Selenium 无法做到这一点的原因是它使用在 Web 浏览器中运行的 Javascript 来进行测试。 它通过 Javascript 模拟点击按钮、输入数据等。 如果 Javascript 被禁用,它将无法工作。 由于 Swing/AWT 应用程序没有 Javascript,Selenium 也无法在它们上运行。
The reason Selenium can't do this is that it uses Javascript running in the web browser to do the testing. It simulates clicking buttons, entering data, etc via Javascript. If Javascript is disabled, it won't work. And since Swing/AWT apps don't have Javascript, Selenium won't work on them, either.
如果您有 Visual Studio 2010,还可以使用新推出的 Visual Studio UI 自动化测试(也称为编码 UI)。 这有点像使用 Selenium 和 ui-map。
If you have Visual Studio 2010, you could also use the newly introduced Visual Studio UI Automation Testing (also known as Coded UI). It's a bit like using Selenium with an ui-map.
答案是:“Mercury winrunner”,它在 90 年代末非常流行,并且可能仍然广泛用于 win 应用程序。
不再以 HP QuickTest Professional 的形式出售,但如果我没记错的话,现在可以作为 HP QuickTest Professional 使用。 请参阅有关 HPQTP 的维基百科页面。
它现在成为 HP 统一功能测试 (UFT)2
The answer is: "Mercury winrunner", which was hugely popular in the late 90s, and which is probably still widely used for win apps.
Not sold as such anymore, but if I'm not mistaken now available as HP QuickTest Professional. See the wikipedia page on HPQTP.
Its now became HP Unified Functional Testing(UFT)2
uispec4j 是一个开源替代方案。 不过我还没有尝试过。 (我目前正在收集要尝试的事情列表,所以感谢您提出问题!)
uispec4j is an open-source alternative. I haven't tried it yet, though. (I'm currently collecting lists of things to try as well, so thanks for asking the question!)
Selenium 是基于 JavaScript 的框架,因此只能在可以执行 JavaScript 的东西上运行。 浏览器本身就是这样做的。
就我而言,实际上没有一个测试框架可以与桌面上的 Selenium 相媲美,因为编写一个像 Selenium Hooks 到浏览器中一样本地挂接到操作系统的框架非常困难。 流行的,不一定是最好的,是 QTP, SilkTest ,测试完成
Selenium is JavaScript based Framework so can only run on things that can execute JavaScript. Browsers do this natively.
As far as I am concerned there isn't really a Testing Framework that is comparable to Selenium on the desktop because it is quite hard to write a framework that hooks into the OS as natively as Selenium Hooks into the Browser. Popular, not necessilary best, are QTP, SilkTest, TestComplete
QTP 、Silktest 是测试 Windows 应用程序 UI 的最佳工具。
QTP , Silktest are the best tools for testing the Windows application UI.
如果您正在寻找开源工具,请查看 Marathon。 它允许您记录和回放测试、生成报告以及集成您自己的代码以测试自定义组件。 我已经使用它好几年了,并进行了数百次测试。
还有一个商业版本,功能更多,但我没有尝试过。 开源版本对我来说非常有用。
If you are looking for an open-source tool, have a look at Marathon. It lets you record and play back tests, generate reports, and integrate your own code for testing custom components. I've been using it for several years and have hundreds of tests.
There is also a commercial version with more features, but I have not tried it. The open-source version works great for me.
试试 Sikuli
Sikuli 是一项诞生于 MIT UI 设计小组的技术,允许使用计算机自动化计算机操作想象。 计算机视觉从图形用户界面 (GUI) 的屏幕截图中识别模式,并使用 Jython 脚本语言对其采取操作。 语言包括图形元素,最好使用软件附带的 IDE 进行编辑。 Sikuli 可用于自动化软件测试,就像 Selenium 用于控制网页一样,它可以控制几乎任何可以识别并单击或输入文本的界面 - PC(Windows、Mac OS X 和 Linux)应用程序,甚至在模拟器中或通过 VNC 运行的 iPhone 或 Android 应用程序。
您还可以使用 Sikuli Java API
Sikuli API for Java为 Java 程序员提供基于图像的 GUI 自动化功能。 它由 Sikuli Lab 创建并将积极维护。 这个新的 Java 库具有重新设计的 API,并包含原始 Sikuli 脚本中不可用的几个新功能,例如匹配颜色、处理事件以及查找矩形按钮等几何图案的功能。 而且,它基于 Maven 大大简化了构建过程。
Try Sikuli
Sikuli is a technology born in MIT UI Design group that allows to automate computer operations using computer vision. Computer vision recognizes patterns from screenshots of graphical user interfaces (GUI) and Jython script language is used to take actions on them. Language includes graphical elements and is best edited with IDE that comes with the software. Sikuli can be used for automated software testing, like Selenium is used to control a web page, it can control pretty much any interface that it can recognize and click or enter text - PC (Windows, Mac OS X and Linux) applications, and even an iPhone or Android application running in a simulator or via VNC.
You can also use Sikuli Java API
Sikuli API for Java provides image-based GUI automation functionalities to Java programmers. It is created and will be actively maintained by Sikuli Lab. This new Java library has a re-designed API and includes several new functions that were not available in the original Sikuli Script, such as the abilities to match colors, handle events, and find geometric patterns such as rectangular buttons. Moreover, it has a greatly simplified build process based on Maven.