尝试 运行 机器人框架测试用例针对 Windows 使用 Appium 服务器的应用程序 - 可能吗?
Trying to run a Robot Framework Test Case against a Windows app with Appium Server - possible?
我在 RIDEIDE 中使用 Robot Framework。我有一个 Appium 服务器会话 运行。作为第一次尝试,我想编写一个 Robot Framework 测试用例来打开 Windows 记事本的一个实例。首先,这是否可能,还是我被误导了?
Appium
以下是使用的设置:
远程主机:127.0.0.1
远程端口:4723
远程路径:/
SSL:禁用
“所需能力”设置如下 JSON:
{
"app": "C:\Windows\system32\notepad.exe"
}
WinAppDriver
在端口 4723 上 运行。
RIDE IDE
正在执行以下测试用例:
*** Settings ***
Library AppiumLibrary
*** Test Cases ***
TC0
Open Application http://localhost:4723/wd/hub app=C:\Windows\System32\notepad.exe
这会产生以下错误:
[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No application is open
这可能是什么原因?
编辑:附加信息 - 执行上述测试用例时,WinAppDriver 控制台中出现以下内容:
默认情况下 AppiumLibrary
将 运行 Capture Page Screenshot
失败。
AppiumLibrary Documentation
最有可能的顺序如下。
测试用例尝试打开记事本但失败。
Open Application http://localhost:4723/wd/hub app=C:\Windows\System32\notepad.exe
关于此失败 AppiumLibrary
尝试 Capture Page Screenshot
但由于第 1 步失败后没有打开的应用程序而失败。
我认为您需要重点解决应用无法正常打开的原因。
如果您想抑制此失败,您可以将 AppiumLibrary 设置为在使用 run_on_failure=No Operation
导入失败时不捕获屏幕,请参阅上面的链接文档。
Library AppiumLibrary run_on_failure=No Operation
稍微不相关,但我只是想提供一些使用 winappdriver 和 robotframework 的提示,因为那里没有很多简明的信息。
- 我个人发现 运行 通过 appium 的 winappdriver 比 运行 独立的 winappdriver 慢。
- localhost 也比使用 127.0.0.1 慢,因为您的系统每次都必须解析该地址:https://github.com/microsoft/WinAppDriver/issues/1269
- AppiumLibrary 仍然非常适合移动自动化,因此它缺少一些您在桌面自动化中想要的常用内容,例如 'drag and drop'、'mouse over element'、用于控制驱动程序的关键字 setup/teardown, 等等 RobotFramework-Zoomba's DesktopLibrary extends AppiumLibrary and adds a lot of these keywords if you would be willing to try that out. Keyword docs can be found here: https://accruent.github.io/robotframework-zoomba/DesktopLibraryDocumentation.html
我在 RIDEIDE 中使用 Robot Framework。我有一个 Appium 服务器会话 运行。作为第一次尝试,我想编写一个 Robot Framework 测试用例来打开 Windows 记事本的一个实例。首先,这是否可能,还是我被误导了?
Appium
以下是使用的设置:
远程主机:127.0.0.1
远程端口:4723
远程路径:/
SSL:禁用
“所需能力”设置如下 JSON:
{
"app": "C:\Windows\system32\notepad.exe"
}
WinAppDriver
在端口 4723 上 运行。
RIDE IDE
正在执行以下测试用例:
*** Settings ***
Library AppiumLibrary
*** Test Cases ***
TC0
Open Application http://localhost:4723/wd/hub app=C:\Windows\System32\notepad.exe
这会产生以下错误:
[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No application is open
这可能是什么原因?
编辑:附加信息 - 执行上述测试用例时,WinAppDriver 控制台中出现以下内容:
默认情况下 AppiumLibrary
将 运行 Capture Page Screenshot
失败。
AppiumLibrary Documentation
最有可能的顺序如下。
测试用例尝试打开记事本但失败。
Open Application http://localhost:4723/wd/hub app=C:\Windows\System32\notepad.exe
关于此失败
AppiumLibrary
尝试Capture Page Screenshot
但由于第 1 步失败后没有打开的应用程序而失败。
我认为您需要重点解决应用无法正常打开的原因。
如果您想抑制此失败,您可以将 AppiumLibrary 设置为在使用 run_on_failure=No Operation
导入失败时不捕获屏幕,请参阅上面的链接文档。
Library AppiumLibrary run_on_failure=No Operation
稍微不相关,但我只是想提供一些使用 winappdriver 和 robotframework 的提示,因为那里没有很多简明的信息。
- 我个人发现 运行 通过 appium 的 winappdriver 比 运行 独立的 winappdriver 慢。
- localhost 也比使用 127.0.0.1 慢,因为您的系统每次都必须解析该地址:https://github.com/microsoft/WinAppDriver/issues/1269
- AppiumLibrary 仍然非常适合移动自动化,因此它缺少一些您在桌面自动化中想要的常用内容,例如 'drag and drop'、'mouse over element'、用于控制驱动程序的关键字 setup/teardown, 等等 RobotFramework-Zoomba's DesktopLibrary extends AppiumLibrary and adds a lot of these keywords if you would be willing to try that out. Keyword docs can be found here: https://accruent.github.io/robotframework-zoomba/DesktopLibraryDocumentation.html