我想切换文件浏览器和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);}
我可以生成新的会话吗?
我参考下一个链接
https://github.com/Microsoft/WinAppDriver/tree/v1.0#creating-a-desktop-session https://github.com/microsoft/WinAppDriver/blob/35a659232060a6e436cbb8393ae9a09bab12bc89/Samples/C%23/StickyNotesTest/StickyNotesSession.cs
但是我不能解决这个问题
Java信息不足。
也没有找到API文档。 请帮助我。
答案 0 :(得分:0)
您将需要ChromeDriver和WindowsDriver的不同对象。 ChromeDriver对象将使用Selenium运行,WindowsDriver对象将使用WinAppDriver。我希望这有帮助。
答案 1 :(得分:0)
我通过使用OP中第一个链接中的信息来获取NativeWindowHandle并将其用于将焦点集中到每个应用程序,从而找到了解决此问题的方法。我必须将0x附加到应用程序返回的Handle的前面,以便将其传递给下一次测试中所需的功能,但是否则,链接中的说明对我来说效果很好。
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);