我需要在Windows,Mac和Linux上自动执行桌面应用程序(不是Web浏览器)测试。在Windows上我使用SendKeys,我在Mac和Linux上使用什么?是否有任何跨平台的.NET Core SendKeys实现,我可以从xUnit中优先使用它?
答案 0 :(得分:8)
我不确定你的要求是否合理。
.Net Core只有一部分API,以提供跨平台功能。即可在不同平台上运行的共享库。
根据定义,这不能包含任何特定于平台的功能,例如SendKeys或显示消息框(System.Windows.Forms)等特定于平台(甚至WPF和WinForms也有不同的API)。
我是否可以从xUnit中优先使用.NET Core SendKeys实现?
我认为这是关于你的问题的我令人困惑的事情。除非您使用Selenium或胖客户端测试工具(如SikuliX,EggPlant,HP Functional),否则您实际上不会为GUI编写单元测试。
这些通常被称为集成,系统或GUI测试。
Selenium& SikuliX是免费的,将运行跨平台。它们可用于发送密钥。由于您对Web不感兴趣,所以SikuliX就是您想要的。
SikuliX概述:
https://www.scribd.com/document/87620043/sikuliscript-Overview-by-student
培训视频
SikuliX教程#1 - 简介&建立 https://www.youtube.com/watch?v=VdCOg1bCmGo
SikuliX教程#2 - 基础知识 https://www.youtube.com/watch?v=I-UYoezac4Q
SikuliX教程#3 - 条件自动化 https://www.youtube.com/watch?v=vuqfDdPlI88
SikuliX教程#4 - 条件循环 https://www.youtube.com/watch?v=Bb513yh6RGE
SikuliX教程#5 - 游戏示例 https://www.youtube.com/watch?v=xTTIikzxFfc&t=816s
答案 1 :(得分:6)
答案 2 :(得分:0)
我正在开发一个可以做到这一点的库。