我需要列出一些好的工具,这些工具是开源的,用于自动执行Windows GUI的UI测试。任何帮助将不胜感激。

评论

你试过什么了? en.wikipedia.org/wiki/List_of_GUI_testing_tools还不够吗?为什么不呢?

它需要开源还是免费为您服务? Windows的“良好”开源UI工具列表非常有限。

TwinTool是开源的吗?预先感谢,Kishan Patel

我想开始从事自动化工具的职业。我已经开始在Eclipse Luna上安装Twin&Twin jar。因此,我需要讨论。谢谢。

#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