Selenium 尝试通过windows应用程序驱动程序启动计算器时,无法创建新的远程会话
我正在尝试通过windows应用程序驱动程序以以下版本启动计算器 硒独立版:3.141.59 Java客户端:7.2.0 应用程序:1.15.1(在端口127.0.0.1:4723上运行) Windows应用程序驱动程序:像WinAppDriver.exe 4727这样运行 下面是我的代码Selenium 尝试通过windows应用程序驱动程序启动计算器时,无法创建新的远程会话,selenium,appium,windows-application-driver,Selenium,Appium,Windows Application Driver,我正在尝试通过windows应用程序驱动程序以以下版本启动计算器 硒独立版:3.141.59 Java客户端:7.2.0 应用程序:1.15.1(在端口127.0.0.1:4723上运行) Windows应用程序驱动程序:像WinAppDriver.exe 4727这样运行 下面是我的代码 package test; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.T
package test;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.windows.WindowsDriver;
import io.appium.java_client.windows.WindowsElement;
public class Calculator {
public static WindowsDriver CalculatorSession;
public static WindowsElement CalculatorResult;
public static WebDriver driver;
@Test
public void LaunchApp() throws MalformedURLException, InterruptedException {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "Windows");
capabilities.setCapability("deviceName", "WindowsPC");
capabilities.setCapability("app", "c://Windows//System32//calc.exe");
CalculatorSession = new WindowsDriver<WindowsElement>(new URL("http://127.0.0.1:4727"), capabilities);
System.out.println("driver value" + CalculatorSession);
CalculatorSession.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Thread.sleep(4000);
CalculatorSession.findElementByName("One").click();
CalculatorSession.findElementByName("Plus").click();
CalculatorSession.findElementByName("Seven").click();
CalculatorSession.findElementByName("Equals").click();
}
}
封装测试;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.util.concurrent.TimeUnit;
导入org.junit.Test;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.remote.DesiredCapabilities;
导入io.appium.java_client.windows.WindowsDriver;
导入io.appium.java_client.windows.WindowsElement;
公共类计算器{
公共静态窗口驱动程序计算器会话;
公共静态窗口元素计算器结果;
公共静态WebDriver;
@试验
public void LaunchApp()引发畸形的DurException、InterruptedException{
DesiredCapabilities=新的DesiredCapabilities();
能力。设置能力(“平台名”、“窗口”);
能力。设置能力(“deviceName”、“WindowsPC”);
setCapability(“app”,“c://Windows//System32//calc.exe”);
CalculatorSession=新的Windows驱动程序(新URL(“http://127.0.0.1:4727(能力),;
System.out.println(“驱动程序值”+计算器会话);
CalculatorSession.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
睡眠(4000);
CalculatorSession.findElementByName(“一”)。单击();
CalculatorSession.findElementByName(“Plus”)。单击();
CalculatorSession.findElementByName(“七”)。单击();
CalculatorSession.findElementByName(“等于”)。单击();
}
}
当我运行代码时,计算器打开1次,然后出现下面的错误
org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。有关详细信息,请查看服务器日志。原始错误:未能找到appId为:c://Windows//System32//calc.exe且processId为:2244的打开的应用程序窗口(警告:服务器未提供任何stacktrace信息)
命令持续时间或超时:2.30秒
构建信息:版本:“3.141.59”,修订版:“e82be7d358”,时间:“2018-11-14T08:25:53”
我也尝试过使用此路径:Microsoft.WindowsCalculator_10.1910.0.0_x64__8wekyb3d8bbwe
但它也不起作用,并给出以下错误
org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。有关详细信息,请查看服务器日志。原始错误:系统找不到指定的文件(警告:服务器未提供任何stacktrace信息)
命令持续时间或超时:652毫秒
生成信息:版本:“3.141.59”,修订版:“e82be7d358”,时间:“2018-11-14T08:25:53”它应该是“Microsoft.WindowsCalculator\u 8wekyb3d8bbwe!App”,而不是“c://Windows//System32//calc.exe”
您可以通过运行powerShell命令“get StartApps”来查找应用程序id任何人请提供此方面的帮助