当前位置: 首页 > 知识库问答 >
问题:

使用QAF的Windows应用程序自动化

丁良骏
2023-03-14

我正在寻找支持自动化Windows应用程序,如记事本使用Qmetum自动化框架与BDD步骤。我尝试与Appium驱动程序,但没有工作。

Step1:打开记事本Step2:输入“一些文本”[在这里输入链接描述][1]

成功日志:Windows应用程序驱动程序在以下位置侦听请求:http://127.0.0.1:4723/ 按ENTER键退出。

===================================================后期/会话HTTP/1.1接受编码:gzip,deflate连接:保持活动内容长度:258内容类型:应用程序/json;charset=utf-8主机:127.0.0.1:4723用户代理:Apache HttpClient/4.5.2(Java/16.0.2)

{“能力”:[{“desiredCapabilities”:{“app”:“C:\Windows\System32\notepad.exe”、“platformName”:“Windows”}、{“requiredCapabilities”:{}、“desiredCapabilities”:{“app”:“C:\Windows\System32\notepad.exe”、“platformName”:“Windows”},“requiredCapabilities”:{}HTTP/1.1 200 OK内容长度:141内容类型:application/json

================================================获取/会话/3E4610D7-9EBB-4998-921B-94220578D3F1 HTTP/1.1接受编码:gzip,解除缓存控制:无缓存连接:保持活动主机:127.0.0.1:4723用户代理:Apache HttpClient/4.5.2(Java/16.0.2)

HTTP/1.1 200 OK内容长度:90内容类型:应用程序/json

{“状态”:0,“值”:{“应用程序”:“C:\Windows\System32\notepad.exe”,“平台名”:“Windows”}

故障日志:

Windows应用程序驱动程序在以下位置侦听请求:http://127.0.0.1:4723/ 按ENTER键退出。

================================================POST/wd/hub/session HTTP/1.1接受编码:gzip连接:保持活动内容长度:641内容类型:应用程序/json;charset=utf-8主机:127.0.0.1:4723用户代理:selenium/3.141.59(java windows)X幂等键:202d0858-641b-4263-88b9-4b5b1ed0ecc1

共有1个答案

松阳泽
2023-03-14

您没有提供您尝试过的内容以及您遇到的错误。

为了自动化windows本机应用程序,您需要使用appium windows驱动程序。Windows驱动程序是appium实现,所以您可以像android或ios appium驱动程序一样使用它。

你可以参考

  • 如何在appium上运行本机应用程序

编辑:下面的示例工作正常:

设置功能的属性

remote.port=4723
driver.name= appiumDriver

appium.additional.capabilities={"app":"C:\\Windows\\System32\\notepad.exe","driverClass":"io.appium.java_client.windows.WindowsDriver"}
#appium.capabilities.driverClass=io.appium.java_client.windows.WindowsDriver
#appium.capabilities.app=C:\\Windows\\System32\\notepad.exe

它在正常的web驱动程序测试中运行良好,没有问题:

import static com.qmetry.qaf.automation.step.CommonStep.sendKeys;
import static com.qmetry.qaf.automation.util.StringMatcher.exact;
import static com.qmetry.qaf.automation.ui.webdriver.ElementFactory.$;

...

    @Test
    public void testCanEditInNotpad(){
        getDriver().verifyTitle(exact("Untitled - Notepad"));
        getDriver().findElementByClassName("Edit").sendKeys("it worked!...")
        $("className=Edit").sendKeys(" This also worked!...");
        sendKeys(" Common Step worked as well!...", "className=Edit");
    }
 类似资料:
  • 在Windows AWS服务器上,我有一个节点应用程序,我正在使用PM2启动该应用程序 我已经尝试了npms:“pm2-windows-startup”和“pm2-windows-service” 但是在我重新启动AWS实例并运行 列表中没有节点应用程序。.. null 我的PM2文件包含: 2017-03-13 07:37:48:=================================

  • 我最近开始研究iOS本机应用程序自动化- MAC OS 10.10.2iOS模拟器-iPhone 5s,iOS8.1 Appium 1.3.4 应用在应用商店中-我正在使用此应用商店应用的.App文件 Appium.app中的iOS设置-应用路径-为.app文件提供路径强制设备-模拟器设备 代码- 我还尝试只在代码中提供应用程序路径,但没有在appium.app中提供,我尝试使用和不使用应用程序的

  • 在这一点上,我只是不知道该去哪里找。Appium网站似乎没有关于用于测试的命令的详细文档。

  • 我正尝试使用WinApp驱动程序在Visual Studio 2017中自动化扩展(WPF)的UI,但在使用inspect.exe(Windows SDK)捕获元素时找不到自动化id 最初,当通过inspect.exe检查时,找不到自动化ID。因此,我在XAML文件的automation属性中设置了automation id,并将新的VSIX安装回Visual Studio中,但在捕获元素时,上述

  • 我在Cucumber自动化框架中使用Ruby来自动化我的Android和iOS应用程序。我正在使用Appium 1.6.4测试版,因为它支持iOS 10.2。 当Appium服务器首次在设备上安装iOS应用程序时,会出现一个警报对话框,询问是否允许通知。据我所知,使用Appium时,“自动接受器”功能目前不起作用。 我的主要问题是如何检查警报对话框是否存在,然后使用类似“查找元素”的功能按下“允许