如何在java中切换应用程序winappdriver

如何在java中切换应用程序winappdriver,java,winappdriver,Java,Winappdriver,我想切换文件浏览器和Chrome浏览器 如何切换应用程序 在我的代码中 @BeforeClass public static void setup() { try { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "C:\\Windows\\explorer.exe");

我想切换文件浏览器和Chrome浏览器

如何切换应用程序

在我的代码中

   @BeforeClass
    public static void setup() {
        try {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("app", "C:\\Windows\\explorer.exe");
            ExplorerSession = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities);
            ExplorerSession.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
            actions = new Actions(ExplorerSession);
            modules = new Modules(ExplorerSession);}
我可以生成新会话吗

我参考下一个链接

但我无法解决这个问题

Java中的信息不足

也没有找到API文档。
请帮助我。

您将需要不同的ChromeDriver和WindowsDriver对象。ChromeDriver对象将使用Selenium操作,WindowsDriver对象将使用WinAppDriver。我希望这有帮助

我通过使用OP中第一个链接中的信息来获取NativeWindowHandle,并使用它来关注每个应用程序,从而找到了这个问题的解决方案。我必须在我的应用程序返回的句柄前面附加0x,以便在下一次测试中将其传递到所需的功能,但在其他方面,链接中的指令对我来说效果很好

    String NativeWindowHandle = driver.findElementByAccessibilityId("ShellForm").getAttribute("NativeWindowHandle");
    int natWinHandleInt = Integer.parseInt(NativeWindowHandle);
    String natWinHandleStr = Integer.toHexString(natWinHandleInt);
    natWinHandle = "0x"+natWinHandleStr;

    DesiredCapabilities appCapabilities = new DesiredCapabilities();
    appCapabilities.setCapability("appTopLevelWindow", natWinHandle);
    driver = new WindowsDriver<WindowsElement> (new URL("http://127.0.0.1:4723"), appCapabilities);
String NativeWindowHandle=driver.findElementByAccessibilityId(“ShellForm”).getAttribute(“NativeWindowHandle”);
int-natWinHandleInt=Integer.parseInt(NativeWindowHandle);
字符串natWinHandleStr=Integer.toHexString(natWinHandleInt);
natWinHandle=“0x”+natWinHandleStr;
DesiredCapabilities appCapabilities=新DesiredCapabilities();
setCapability(“appTopLevelWindow”,natWinHandle);
驱动程序=新Windows驱动程序(新URL(“http://127.0.0.1:4723",应用能力),;

欢迎来到StackOverflow,感谢您提供答案。但对于好的答案,建议同时包含解释和代码示例。如果您能用小代码片段来说明该方法,那就太好了。