问题标签 [winappdriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
626 浏览

ruby - 使用winapp驱动程序右键单击系统托盘中的应用程序

我正在尝试自动右键单击系统托盘中的防病毒图标,但不走运。有没有不同的方法来实现它。


我正在尝试的代码如下


当我尝试运行此方法时,我看到以下错误

NoMethodError:未定义的方法[]' for nil:NilClass C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/selenium-webdriver-3.5.2/lib/selenium/webdriver/common/action_builder.rb:357:in执行'

0 投票
1 回答
1662 浏览

c# - WinAppDriver中的拖放不起作用

我尝试自动测试 WPF 应用程序中的拖放行为。一个自定义控件被拖到另一个上:

手动拖放

以通常的 WPF 方式实现的拖放行为:

但是当我尝试使用 WinAppDriver 自动执行此操作时,拖放不起作用。光标形状没有改变,也没有任何反应。

WinAppDriver 拖放

我尝试了几种方法:

操作拖放

动作点击并按住

驱动鼠标操作(来自示例

有延迟的驱动程序鼠标操作

没有任何效果。任何想法可能是错误的以及如何解决它?

当我尝试通过 WinAppDriver 拖动其标题栏来移动应用程序窗口时,它成功地移动了窗口。因此,拖动操作在技术上有效,但在窗口内拖动控件的情况下则无效。

0 投票
1 回答
437 浏览

wpf - 在现有应用程序中设置自动化 ID

如果我有一个现有的 WPF 应用程序,并且我想将automationIDs 分配给未设置它们的整个应用程序,那么有什么好的方法(对于未动态添加的控件)?某种遍历所有 xaml 文件并添加自动化 ID 的脚本?

我的目标是使用 winappdriver 编写 ui 测试。

我已经用谷歌搜索了这个,但没有找到任何似乎可以做我想做的事情。也许我误解了结果。这篇文章似乎问了同样的问题,但我看不出所提供的答案是一个合适的解决方案。

0 投票
1 回答
298 浏览

vb.net - WinAppDriver - 如何在 VB.NET 中设置会话以测试经典 Windows 应用程序

由于 Microsoft 曾表示 Visual Studio 2019 是最后一个包含编码 UI 的版本,因此我正在尝试将我们的 Windows 桌面应用程序自动化解决方案移至其推荐的替代品 WinAppDriver。

我无法使用我在网上找到的示例进行会话。许多 C# 示例,但我没有找到任何 VB.NET 示例。

C# 在线记事本示例的开头如下:

我已经成功(我认为)将前两行转换为 VB.NET,如下所示:

我需要将上面的 C# 示例代码的第三行转换为 VB.NET,以便我们可以希望 WinAppDriver 为我们现有的 CodedUI 自动化解决方案工作。

0 投票
1 回答
738 浏览

vb.net - WinAppDriver:无法在本地会话中连接到远程服务器

我正在尝试使用 WinAppDriver 在本地 PC 上测试经典的 Windows 窗体控件应用程序。此测试将在执行代码的同一台 PC 上运行,而不是远程运行。

但是,当尝试使用 WinAppDriver 启动应用程序时,会发生以下情况:

无法连接到远程服务器---> System.Net.Sockets.SocketException: No connection could be made because the target machine主动拒绝它

我发现对于 WinAppDriver,Windows 必须设置为“开发人员模式”,并且我已经将其打开。

这是我到目前为止的代码,现在只使用 Notepad.exe 示例:

前任被扔在第三行。

0 投票
2 回答
522 浏览

vb.net - FindElements 不适用于某些 Windows 程序的某些部分中的控件

WinAppDriver 的 FindElement 不会总是在程序中找到要自动化的对象。

我已经让它与其他程序一起工作,比如记事本,甚至我的程序中的一个不同的对话框都可以自动化,并且它在那些地方工作。

这是我目前使用的代码。前三行执行没有错误,成功地将应用程序启动到它的登录对话框中:

第四行应该找到元素,一个文本框,并通过 sendkeys 将字符串“密码”输入其中,但它失败了,除了以下异常:

System.InvalidOperationException:“使用给定的搜索参数无法在页面上找到元素。”

目标对象在屏幕上,这应该可以工作。我正在使用为 Inspect.exe 中的对象显示的信息,名称:“密码”。

WinAppDriver 的窗口显示以下错误信息:

{"using":"name","value":"Password"}
HTTP/1.1 404 Not Found
Content-Length: 139
Content-Type: application/json

{"status":7,"value":{"error":"no such element","message":"使用给定的搜索参数无法在页面上找到一个元素。"}}

0 投票
0 回答
1390 浏览

vb.net - WinAppDriver - 无法在组合框中单击项目或选择项目

使用 WinAppDriver 和 VB.NET,我试图在组合框中选择一个项目。我需要直接选择它,而不是通过键盘输入或光标键导航来选择它,因为这会触发对未选择项目的其他程序操作。

我一直在尝试使用.FindElementByXPath和选择项目.click

我使用 WinAppRecorder 来获取 xpath,从中删除了不必要的重复标识符。以下 xpath 和代码用于使组合框下拉:

在让 cbo 下拉后,我尝试通过单击来选择所需的项目。

使用 WinAppRecorder 记录一次点击,我得到以下代码(转换为 VB.NET):

(注意在打开的cbo中点击item的xpath比一开始点击cbo的要短,可能是因为一些cbo在更高级别打开的方式。我认为这是正常的,与问题无关.)

上面的代码现在应该在我现在打开的组合框中找到并单击“DELAWARE”,但是我得到了找不到元素的标准异常:

这不是大小写问题,cbo 中的所有内容都大写。这不是时间问题,因为我已确保 cbo 完全下拉并填充。

我也尝试过点击搜索,也使用.FindElementByName等 和来自 Inspect.exe 的标识符,但也没有运气。我不在乎使用什么解决方案来选择目标项目。我对任何可靠的工作持开放态度。

0 投票
0 回答
344 浏览

c# - VS2019 测试资源管理器由于焦点错误导致点击失误

我正在使用Visual Studio 2019, 并WinAppDriver在一个简单的WPF Application.
为此,我使用集成在 VS 中的测试资源管理器。
问题:当我通过它运行我的测试时,Test Explorer它会在后台(在 Visual Studio 后面)打开我想要的窗口;然后它在正确的位置执行 clicks`,但是鼠标在我的 Visual Studio 中单击,而不是在我想要的应用程序窗口上,因为它没有被带到前面。

当我以Debug模式启动测试时,一切正常。窗口打开集中在前面。点击点击右键等。所以我的代码不会是问题吗?!

我尝试等待它准备好(可点击),然后再点击:

总结一下,在模式下Test Explorer工作正常Debug,但在normal模式下它不能正确打开应用程序但不会将其置于前面,因此单击将命中 Visual Studio 而不是所需的应用程序。

出了什么问题?如何修复Test Explorer自动将测试应用程序置于最前面?

我希望我就在这里。这是我的第一个问题,所以如果我错过了某事,请告诉我。祝你有美好的一天,提前感谢!

编辑:我通过Window.Topmost = true;在我的 -Constructor 中设置属性找到了一种解决方法,MainWindow()但这并不是我真正想要的。

0 投票
1 回答
1433 浏览

c# - WinAppDriver - 使用 xpath 识别 Value.Value 属性

因此,对于我们的应用程序,有几个地方我们缺少自动化 ID,并且通常只是很好的唯一标识符。

在一种特殊情况下,我可以使用的唯一好的标识符是由 Inspect 工具标识的 Value.Value 属性。

在此处输入图像描述

我尝试使用基本的 xpath 命令来获取这个元素。

但这不起作用...... WinAppDriver 可以以任何方式使用这些属性吗?

0 投票
2 回答
3416 浏览

python-appium - 如何在 Windows 上使用 Appium 和 Python 从应用程序菜单中单击菜单项?

我正在为应用程序自动进行 UI 测试,并且在 Windows 上的菜单项遇到问题。Fwiw,我让它在 Mac 上为姐妹应用程序工作。我正在使用 Python 中的 Appium。

我可以使用 Inspect.exe 找到菜单树,单击顶级菜单,然后打开下拉菜单,在这里我找到菜单项,我想单击,但 WinAppDriver 失败并出现以下错误: {"status":105,"value":{"error":"element not interactable","message":"An element command could not be completed because the element is not pointer- or keyboard interactable."}}

下面的python重现了这个问题。

关于如何单击菜单项的任何建议?