问题标签 [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 回答
941 浏览

c# - 使用 WinAppDriver 和 c# 如何使用“sendkeys”或在新打开的浏览器窗口中查找新元素并返回到旧窗口?

如何使用“发送键”或在新打开的浏览器窗口中查找新元素并返回到旧窗口?

这是我到目前为止的代码:

0 投票
1 回答
1060 浏览

c# - 如何在使用 Windows 应用程序驱动程序的 UI 自动化单元测试期间验证 WPF 复选框的状态?

我的简单 WPF 应用程序包含一个复选框。我正在尝试使用 Windwos 应用程序驱动程序自动测试此应用程序。创建会话后,单击该复选框。之后我想验证复选框是否被选中。但是复选框对象的类型是 WindowsElement 所以我的代码不能工作。

换句话说:如何在 WinAppDriver 测试中访问这些控件类型?

https://docs.microsoft.com/en-us/windows/win32/winauto/uiauto-controltypesoverview

0 投票
1 回答
1603 浏览

c# - 无法使用 Inspect.exe 获取 WPF 应用程序的自动化 ID 以实现 WinApp 驱动程序自动化

我正在尝试使用WinApp 驱动程序在 Visual Studio 2017 中自动化扩展的 UI(WPF),但在使用Inspect.exe(Windows SDK)捕获元素时找不到自动化 ID

最初,在 Inspect.exe 检查时没有找到自动化 ID。因此,我在 XAML 文件的自动化属性中设置了自动化 ID,并在 Visual Studio 中安装了新的 VSIX,但在捕获元素时上述设置的 ID 仍然不可见。

但是在我如上所述在 XAML 中设置 id/s 后尝试捕获 UI 对象后,使用检查元素工具,偶尔会出现自动化 id 但它不一致,我找不到它不可用/不可见的原因始终如一。

通过使用“FindElementByName”和“FindElementByClassName”,我在某些情况下取得了成功,但我的意图是使用自动化 ID 更准确地捕获元素。

下面是我设置 AutomationId 的 XAML 代码;

Button Content="Close" Width="80" Height="25" Margin="10,0,0,0" Visibility="{Binding abc}" Click="CloseButton_Click" AutomationProperties.AutomationId="BtnCloseExample"

下面是我设置 id 以在我的测试项目中捕获元素的代码行;

session.FindElementById("BtnCloseExample").Click(); Thread.Sleep(TimeSpan.FromSeconds(3));

我希望以一致的方式设置和获取自动化 ID,以便使用 FindElementById 或 xpath。可悲的是,我也找不到与此问题相关的好文章。

请阐明并提供一些指导方针来完成这项任务。如果可能的话,如果有人可以发布自动化 wpf 应用程序的示例,那将是非常有价值的。

谢谢你。

0 投票
3 回答
1902 浏览

java - 以编程方式启动 WinAppDriver.exe

在开始测试执行之前,我必须手动启动这个 WinAppDriver.exe。

我想在开始执行测试用例时自动执行此任务,它应该启动此 exe,完成后将关闭它。

我用下面的代码在Java中尝试过,但我没有成功:

注意:我需要使用“以管理员身份运行”来运行它

0 投票
2 回答
1396 浏览

c# - 用于桌面和 web 应用的 WinAppDriver

我已经将 Selenium 用于我们的 gui 测试并且它有效。但是我们有一些 webapp,当用户单击链接时,会打开一个 Word 文件,其中包含一些数据,并且在 Word 文档中有一个小的 webapp(嵌入)。该 webapp 与 Word 通信。是否可以在同一个测试中将我的 Selenium 测试与 WinAppDriver 结合起来?

0 投票
1 回答
376 浏览

c# - WinAppDriver 计算器示例中的异常

我在启用开发者模式的情况下运行 Win10,并启动了 WinAppDriver。在 VS 2019 中,我运行了计算器示例,但每次测试都失败并出现异常。然后我尝试设置一堆断点,但是当我运行测试时,它永远不会在我的断点处中断。

这是异常的堆栈跟踪:

任何想法为什么测试不起作用,为什么它没有在我的断点处中断?

0 投票
1 回答
2528 浏览

python-3.x - 带有 Python 问题的 WinAppDriver

总的来说,我的问题是我正在尝试使用 WinnAppDriver 自动化 Windows 10 应用程序并用 Python 编写我的自动化。由于大多数 WinAppDriver 示例都是用 Java 编写的(可以理解...),因此关于如何执行此操作的信息似乎很少。但我几乎不知道 Python 的基础知识,而对 Java 一无所知。那么......有没有我错过的书或视频?具体来说,我安装了所有东西(通过 VS 代码安装了 Python),实际上运行了 Python 示例计算器测试......然后我不得不重新启动我的电脑,我收到以下错误:

作为一个新手,我深表歉意……我通过视频学习了 Python 的基础知识,因此我可以实现 Sikulix 自动化,这在我不得不在计算机之间切换之前效果很好……打破 Sikulix 非常容易分辨率依赖。所以......环顾四周后,我决定尝试通过 WinAppDriver 自动化......在 Python 中。哇......我找不到任何关于如何做到这一点的书籍或视频(因为我几乎没有学习 Python 并且知道零 Java)。任何帮助将不胜感激,我将证明我会花时间观看推荐的视频或研究推荐的书籍/文本。提前非常感谢...

[运行] python -u "c:\Users\bartc\Downloads\WinAppDriver-master\WinAppDriver-master\Samples\Python\CasaCharm 1.py" 错误

==================================================== =====================

错误:setUpClass(主要的.SimpleCalculatorTests)

Traceback(最近一次调用最后):文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py”,第 160 行,在 _new_conn (self._dns_host, self.port), self.timeout, **extra_kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\connection.py”,第 80 行,在 create_connection 中引发错误文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\connection.py”,第 70 行,在 create_connection sock.connect(sa) ConnectionRefusedError : [WinError 10061] 由于目标机器主动拒绝,无法建立连接

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后一次):文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py”,第 603 行,在 urlopen chunked=chunked)文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py”,第 355 行,在 _make_request conn.request(method, url, **httplib_request_kw) 文件中“ C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\http\client.py",第 1229 行,在请求 self._send_request(method, url, body, headers, encode_chunked) 文件“C:\ Users\bartc\AppData\Local\Programs\Python\Python37\lib\http\client.py”,第 1275 行,在 _send_request self.endheaders(body, encode_chunked=encode_chunked) 文件“C:\Users\bartc\AppData\Local \Programs\Python\Python37\lib\http\client.py",第 1224 行,在 endheaders self._send_output(message_body, encode_chunked=encode_chunked) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\http\client.py”,第 1016 行,在 _send_output self.send(msg ) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\http\client.py”,第 956 行,发送 self.connect() 文件“C:\Users\bartc\AppData\ Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py”,第 183 行,在 connect conn = self._new_conn() 文件“C:\Users\bartc\AppData\Local\Programs\Python\ Python37\lib\site-packages\urllib3\connection.py”,第 169 行,在 _new_conn self 中,“无法建立新连接:%s”% e) urllib3.exceptions.NewConnectionError: : 无法建立新连接:[WinError 10061] 由于目标机器主动拒绝,无法建立连接

在处理上述异常的过程中,又出现了一个异常:

Traceback(最近一次调用最后一次):文件“c:\Users\bartc\Downloads\WinAppDriver-master\WinAppDriver-master\Samples\Python\CasaCharm 1.py”,第 31 行,在 setUpClass desired_capabilities=desired_caps)文件“C: \Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\appium\webdriver\webdriver.py”,第 144 行,在init 代理文件“C:\Users\bartc\AppData\Local\Programs \Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py",第 157 行,在init self.start_session(capabilities, browser_profile) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\appium\webdriver\webdriver.py”,第 219 行,在 start_session 响应 = self .execute(RemoteCommand.NEW_SESSION, parameters) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py”,第 319 行,在执行中响应 = self.command_executor.execute(driver_command, params) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\remote_connection.py”,第 374 行, 在执行 return self._request(command_info[0], url, body=data) File "C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\ remote_connection.py”,第 397 行,在 _request resp = self._conn.request(method, url, body=body, headers=headers) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\request .py”,第 72 行,请求 **urlopen_kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\request.py”,第 150 行,在 request_encode_body返回 self.urlopen(method, url, **extra_kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\poolmanager.py”,第 326 行,在 urlopen response = conn.urlopen(method, u.request_uri, **kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py”,第 670 行, 在 urlopen **response_kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py”,第 670 行,在 urlopen **response_kw) 文件“C:\Users\bartc\AppData\Local\ Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py”,第 670 行,在 urlopen **response_kw) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site -packages\urllib3\connectionpool.py”,第 641 行,在 urlopen _stacktrace=sys.exc_info()[2]) 文件“C:\Users\bartc\AppData\Local\Programs\Python\Python37\lib\site-packages \urllib3\util\retry.py",第 399 行,增量提高 MaxRetryError(_pool, url, error 或 ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=4723): url 超出最大重试次数:/session(由 NewConnectionError(':无法建立新连接:[WinError 10061] 由于目标机器主动拒绝,无法建立连接'))


在 6.470 秒内运行 0 次测试

失败(错误=1)

[完成] 在 22.349 秒内以 code=0 退出

0 投票
1 回答
330 浏览

automation - 当驱动程序更改太多时,WinAppDriver 有问题识别驱动程序中的元素

例如:在您的桌面上启动 Outlook。请注意如何有一个“启动加载屏幕”,我拥有的驱动程序将查看这个可执行文件并等待 x 秒,然后再尝试单击“新电子邮件”按钮。但是,当它到达出现新电子邮件按钮的页面时,却找不到它。奇怪...嗯,好吧,让我们启动应用程序,但让它触发已经在进程中的可执行文件。它寻找新的电子邮件按钮并发现它没有问题。

我唯一能想到的是驱动程序加载可执行文件,然后可执行文件会大幅更改其数据或其他东西。然后突然间我需要建立一个新的驱动程序。但我不认为这是解决问题的方法。

0 投票
0 回答
470 浏览

rpa - 使用 Microsoft UI 自动化与 UWP Windows 应用程序交互

我必须编写一个程序来在 Windows 10 PC 上打开 UWP 桌面应用程序并执行一些操作并关闭,这应该以恒定的时间间隔运行。

我检查了 WinAppDriver 和 Microsoft UI 自动化测试框架。WinAppDriver 需要启用开发者模式,所以我决定专注于 Microsoft UI 自动化框架。

将 Microsoft UI 自动化框架用于我的用例是否很好?

Microsoft 是否仍支持 WinAppDriver 以外的 UI 自动化框架?

请指教。

0 投票
0 回答
467 浏览

winappdriver - WinAppDriver 无法在打开文件对话框中找到打开按钮

我制作了一个应用程序,当我单击按钮时会打开一个打开的文件对话框。我已经使用打开文件对话框功能创建了打开文件对话框。我想使用 Windows 应用程序驱动程序自动化这个应用程序,因为我必须单击打开文件对话框中的打开按钮。但 Windows 应用程序驱动程序无法找到此打开按钮。我尝试使用自动化 id 类名运行时 id x 路径,但它没有任何建议?