#1 楼
Sikilu:Sikuli可以自动执行屏幕上显示的所有操作。它使用图像识别来识别和控制GUI组件。如果无法轻松访问GUI的内部或源代码,此功能将非常有用。
评论
Sikuli对于暴露程度不足以通过反射进行测试的UI可能非常有用。示例包括基于Flash / Flex的应用程序。性能不是很出色,代码主要是Java,尽管如果您在Jruby上运行,它也可以在ruby代码中使用。
– Chuck van der Linden
17年4月27日在17:55
#2 楼
TestStack White :(部分开源)White是一个开源框架,用于基于Win32,WinForms,WPF,Silverlight和SWT(Java)自动实现富客户端应用程序)
平台。它基于.NET,不需要使用任何
专有脚本语言。使用White
的测试/自动化程序可以使用任何您已经在使用的.NET语言,IDE和工具编写。 White提供了一致的面向对象的API,隐藏了Microsoft的UIAutomation库(White所基于的)和Windows消息的复杂性。
免费提供您可以使用Visual Studio Express使用.Net框架创建自动测试。请参阅下面的示例控制台C#应用程序代码以自动执行notepad.exe:
using System;
using TestStack.White;
using TestStack.White.InputDevices;
using TestStack.White.UIItems.Finders;
using TestStack.White.UIItems.MenuItems;
using TestStack.White.UIItems.WindowItems;
namespace WhiteTest
{
class Program {
static void Main(string[] args) {
Tests tests = new Tests();
tests.Notepad();
}
}
class Tests {
public void Notepad() {
// Arrange
Application app = Application.Launch("notepad.exe");
Window window = app.GetWindow("Untitled - Notepad");
// Act
var box = window.Get(SearchCriteria.ByClassName("Edit"));
Keyboard.Instance.Send("test", box);
window.MenuBar.MenuItem("File", "Save As...").Click();
var filename = window.Get(SearchCriteria.ByClassName("Edit"));
Keyboard.Instance.Send(DateTime.Now.ToString("yyyyMMddHHmmssffff") + "test.txt", filename);
window.Get(SearchCriteria.ByText("Save")).Click();
app.Kill();
// Assert
// file is created in Documents folder
}
}
}
#3 楼
这是对这个问题的较新答案,因此请给出截至2019年2月的状态...我要说的是Appium,Microsoft正在弃用其编码的UI测试工具,并建议使用Appium + WinAppDriver。从此处开始:不建议使用用于自动UI驱动的功能测试的编码UI测试。 Visual Studio 2019是将提供编码UI测试的最后一个版本。我们建议将Selenium用于测试Web应用程序,并将Appium与WinAppDriver一起用于测试桌面和UWP应用程序。
#4 楼
一种选择是将机器人框架与autoit库一起使用。 Robot是关键字驱动的验收测试框架,它使您可以以非常易读的,类似于英语的格式编写测试。机器人文件是纯文本格式,因此可以与版本控制很好地集成在一起,并且jenkins有一个机器人格式插件可以支持持续集成。 Robot还具有标记测试的良好机制,并生成xml和html报告和日志。#5 楼
我想将FlaUI添加到列表中。它基本上是对White的完全重写,具有更多的灵活性,更多的功能,内置的缓存等。#6 楼
Katalon Studio支持Windows 10应用程序测试。从7.0版开始(当前处于beta版)。我相信它是基于Winium的。
更多信息,请访问:https://docs.katalon.com/katalon-studio/ docs / introduction-desktop-app-testing.html#windows-execution-type。
#7 楼
codeplex.com上有多个项目可用于自动进行Windows GUI的UI测试,还有其他所有项目。我一直在使用“ UIAutomation Powershell Extensions”
https:// uiautomation.codeplex.com/
#8 楼
Twin是用于自动化Windows图形应用程序的工具,该设计基于Web自动化工具Selenium / WebDriver,并且可以类似的方式使用。 Webdriver的Grid 2.0在设计时就考虑了TWIN,因此您可以针对安装了不同操作系统的多个虚拟机进行测试,并让Grid 2.0安装最新版本的AUT,并将测试路由到正确的VM。并从此处下载:
https://code.google.com/archive/p/twin/
#9 楼
我从事过SilkTest,这很好。另外,正如@Ankit提到的那样,有很多不错的UI测试工具,您可以在这里找到:http://en.wikipedia.org/wiki/List_of_GUI_testing_tools我想添加另一个名为Watir的工具。
Watir(Ruby中的Web应用程序测试,发音为water)是开放源代码的Ruby库家族,用于自动化Web浏览器。[ 1] [2] [3] [4]它可以驱动Internet Explorer,Firefox,Chrome,Opera和Safari,并且可以作为RubyGems宝石来使用。[4] [5] Watir主要由Bret Pettichord和Paul Rogers开发。 (来源:维基百科-https://en.wikipedia.org/wiki/瓦蒂尔)
评论
问题是关于“开源”工具。 SilkTest不是开源的。 :)
– Niels van Reijmersdal
2014年7月11日7:32
我错过了“开源”,谢谢您的纠正:)
– Nishant Mor
2014年7月11日在8:20
至于Silk Test Classic和Silk4Net,我来这里是寻找替代品,发现它困难,不直观且高度依赖文本,几乎没有自定义空间。如果您只是使用记录器并进行一些编辑,它可能工作正常甚至很好,但是如果您想更灵活一点,例如G。维护对象映射或嵌入更大的上下文,这似乎并不简单。
– Andreas Reiff
2015年9月15日在9:11
评论
你试过什么了? en.wikipedia.org/wiki/List_of_GUI_testing_tools还不够吗?为什么不呢?它需要开源还是免费为您服务? Windows的“良好”开源UI工具列表非常有限。
TwinTool是开源的吗?预先感谢,Kishan Patel
我想开始从事自动化工具的职业。我已经开始在Eclipse Luna上安装Twin&Twin jar。因此,我需要讨论。谢谢。