问题标签 [winium]
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.
c# - 我无法使用 c# 在 winium 中选择颜色选择器
我无法在 winium 驱动程序 c# 中的颜色选择器和复选框中选择颜色
我必须通过发送密钥来选择不同的颜色。
robotframework - 有时 winium 在我的代码中给出 NoSuchElementException
我有一个简单的代码,它间歇性地给出无此类元素异常。有时它会找到一个代码,有时它不能这样做。不知道为什么winium会抛出这样的异常。
演示示例:
selenium - 如何在不使用 Headless 的情况下在 Jenkins 上运行我的自动化(测试)
我正在使用 WiniumDriver 运行我的自动化。当我在本地机器上运行时(没有无头模式)它运行良好,但是当我从 Jenkins 运行时它不起作用,因为我使用的是无头模式。
如何禁用 Jenkins 的无头选项?
wpf - 使用 Winium 自动化 WPF 应用程序的视觉关系
使用适用于 Windows 应用程序的其他自动化工具,例如 LeanFT,有一种方法可以指定视觉关系。例如,如果我确定了一个标签,然后我可以说查找它右侧的文本框。
有没有办法在 Winium 中做到这一点?
这是 LeanFT 中的代码示例
如您所见,我们本质上是在识别一个元素,然后将其用作 VisualRelation 中的 TestObject 来识别其他元素。
python - 无法在列表/表格对象上选择一行以使用 Winium for Python 进行桌面应用程序测试
我正在使用带有 Python 的 Winium 来自动化桌面应用程序,并且遇到了我在自动化方面遇到问题的 GUI 的一部分。
在创建配置的过程中,用户将有一个窗口,他们可以在其中选择要创建的协议类型。
我遇到的问题是通过鼠标单击选择表中的特定行。由于有多行具有相同的协议名称,我将要根据协议名称和模式(即 Modbus 从站)选择一行。
理想情况下,我想搜索表格,根据协议和模式找到所需的行,然后选择该行。我已经弄清楚如何仅使用协议名称来选择一行:
我遇到的问题是找到一种基于两个参数选择行的方法。对于 Web UI 测试,它通常是一个“/td”或“/tr”对象,我可以很容易地在 HTML 代码中找到列表/表格,并使用它的 XPath 来指定一行或一行中的一个单元格。我的桌面应用程序并非如此。我一直在尝试同时使用Inspect Object (Ver 7.2.0.0) ...
...和UISpy(版本 3.0.0.0)...
...但一直无法弄清楚如何执行此操作。通过一些研究和搜索,我尝试了以下几种组合:
我做了一些元素挖掘并且能够显示有 182 个 Xpath 对象。
我确信有办法实现这一点,但我正在努力解决这个问题。我发现的文档非常少,而且我发现的大部分帮助都是针对 Java 的。
更新 (1) 4/24/2019 我也一直在分别查看列表中的项目,希望找到一种方法来执行此操作。以下是列表/表格中这些项目之一的信息:
更新 (2) 2019 年 4 月 24 日 我发现了一些有用的东西。我在上面的 Inspect 和 UISpy 屏幕截图中注意到,当单击表中存在的单个项目时,它显示“LocalizedControlType”等于“文本”。因此,我开始使用该参数测试不同的可能性,并使用上面的 XPath 取得成功。我发现以下所有 3 个选项都能够选择表中的 Modbus Slave 行:
选择对象 78 会导致选择 Modbus 主站,选择对象 82 会导致选择下一行。这种方法会起作用,但如果能找到一种更简洁的方法来选择既知道“协议”又知道“模式”的行会很好。
python - 在继续之前使用完整的非 XPath 路径确认元素不再存在
我正在使用 Winium 和 Python 进行一些桌面应用程序测试。对于我的应用程序,我首先确认进度条出现在窗口上以及一些其他文本。然后我确认进度条不再存在,然后继续前进。
我遇到的问题是用于验证进度条的代码部分在继续之前已经消失。该特定行执行时间太长。经过一番调查,我得出结论,这是因为我只能将组件地址输入“presence_of_element_located”,而不是其完整地址,这看起来像......
不幸的是,我无法将其分解为 XPath 并改为使用它。据我所知,我也不知道使用此地址检索对象的 XPath 的方法。我想找到一种方法来做到这一点.. (1) 将此绝对/完整地址插入 expected_conditions.presence_of_element_located() 或找到另一种方法来确认该对象不再存在。
- 20190502 更新 -
到目前为止,我最接近解决方案的是结合以下想法:
这确实让我无法确认进度条已经消失,因此测试可以继续。它还具有与通配符相同的时间问题,这意味着必须首先搜索对象。
- 20190502 更新 (2) -
所以,我在解决这个难题方面有了一点突破。对于使用 XPath,如果我在做 Web UI 测试,我可以查看 XML 代码并看到它是一个'//div'、'//table'、'//input'、'//tspn'等。 . 我一直在使用 UISpy 工具来找出我桌面应用程序上对象的名称。当我看着它时,我对它所引用的对象前面的标签产生了好奇。
从控制视图中,我看到“MyApp”旁边有标签“Window”。所以我决定用它来改变我的 XPath 尝试如下:
这不仅有效,而且比以前的尝试快了一点。问题是下一层被标记为“状态栏”,我不确定如何在 XPath 中表示它。
java - 如何仅从一个 GUI 进行 JUnit 测试?
我在 Winium 写了一些 JUnit 测试用例,这与 Selenium for Calculator 几乎相同。我的问题是每次测试都会启动一个新的calculator.exe,但我想对同一个calculator.exe 进行所有测试,但我也想分开JUnit 测试。下面你可以看到我的代码:
winium - 如何更改 Winium 中 ControlType.TreeItem 的切换状态?
我正在使用 Winium 自动化 SWF Windows 应用程序。我有很多 SwfTreeView 和 TreeNodes 项目。我需要选中/取消选中一些我无法执行的树节点复选框。
我尝试单击树节点,但它只是选择节点而不是选中/取消选中节点。