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

如何从桌面应用程序视图切换到webview,然后再切换回来?

贺宝
2023-03-14
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;
using OpenQA.Selenium.Remote;

namespace UnitTestProject2
{
    [TestClass]
    public class GoldTrakPCTest
    {
        [TestMethod]
        public void TestMethod1()
        { 
            AppiumOptions options = new AppiumOptions();
            options.AddAdditionalCapability("deviceName", "WindowsPC");
            options.AddAdditionalCapability("platformName", "Windows");
            options.AddAdditionalCapability("app", "XXXX -Path to desktop app");
            WindowsDriver<WindowsElement> windowsDriver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723/"), options);
            Thread.Sleep(1500);
            windowsDriver.FindElementByAccessibilityId("1006").SendKeys("Username");
            windowsDriver.FindElementByAccessibilityId("1003").SendKeys("Password");
            windowsDriver.FindElementByAccessibilityId("1001").SendKeys("354 - B - Mariner");
            windowsDriver.FindElementByAccessibilityId("1").Click();
            var myVar = windowsDriver.FindElementByAccessibilityId("59393");
            Thread.Sleep(4200);
            //Trace.WriteLine(windowsDriver.FindElementByName("WILLY WONKA"));
            windowsDriver.FindElementByName("WILLY WONKA").Click();
            Thread.Sleep(1000);
            windowsDriver.FindElementByAccessibilityId("1310").Click();
            Thread.Sleep(4000);
            windowsDriver.FindElementByName("Documents").Click();
            Thread.Sleep(4000);
            windowsDriver.FindElementByAccessibilityId("1011").Click();
            windowsDriver.FindElementByAccessibilityId("1011").Click();
            windowsDriver.FindElementByName("Doc Set - WI Esign Documents").Click();
            windowsDriver.FindElementByAccessibilityId("4750").Click();
            Thread.Sleep(4000);
            windowsDriver.FindElementByName("OK").Click();
            windowsDriver.FindElementByAccessibilityId("2034").Click();
            Thread.Sleep(4000);
            string Context = windowsDriver.Context;
            Trace.WriteLine(Context);
            /*List<string> AllContexts = new List<string>();
            foreach (var context in (windowsDriver.Contexts))
            {
                AllContexts.Add(context);
                Trace.WriteLine(context);
            }*/
            //Trace.WriteLine(AllContexts, "Hello");
            //options.AddAdditionalCapability("")
            //windowsDriver.FindElementByName("WILLY WONKA").Click();
            //windowsDriver.FindElementByName("Next").Click();



            Thread.Sleep(6000);

            //windowsDriver.Close();
        }
    }
}

我需要知道如何改变上下文,如果有可能在原生windows桌面应用程序和浏览器之间切换,以及如何做到这一点。

共有1个答案

狄誉
2023-03-14

有可能。我有2个桌面应用程序和1个web应用程序都在一前一后运行。然而,我有一个关于“链接自动转到internet Explorer。(关于如何复制和粘贴到chrome的建议将不胜感激)”的问题。

是因为Internet Explorer是Windows中的默认资源管理器吗?

应用程序之间切换上下文。

 类似资料:
  • 这似乎是一件很容易做到的事情,但无论出于什么原因,我都被打败了。 我试图使用Firebase工具CLI与我的数据库进行交互。我可以毫无困难地登录,当我键入时,我得到了我当前所有应用程序的列表。它还告诉我我目前连接到哪个应用程序。 我的问题是,我想连接到其他应用程序之一。我正在我的临时应用程序上运行查询,我需要在我的生产应用程序上运行它们。我可以在列表中看到生产应用程序,但我找不到任何方法切换到该应

  • 我的模特。py看起来像: 模型中描述了“名称”和“站点”! 每当我尝试运行我的服务器时,我都会 django.db.utils.编程错误:除非使用可以解释8位字节串的text_factory(如text_factory=str),否则不得使用8位字节串。强烈建议您将应用程序切换到Unicode字符串。 我怎样才能将我的应用程序切换到上面提到的Unicode字符串,或者如果有其他方法来解决这个问题,

  • 以下是活动2的代码:包helloworld.app; 以下是活动1的xml文件代码: 编辑:以下是来自logcat的错误消息 08-01 07:01:11.673:E/AndroidRuntime(1326):at Android.view.view$1.onclick(View.java:3578) 08-01 07:01:11.673:E/AndroidRuntime(1326):at And

  • 问题内容: 我正在创建一个Android应用程序,并通过HttpClient将数据从Android应用程序发送到servlet。我使用HttpPost方法。 我在Android开发人员网站上了解到,Apache HttpClient库在Android Froyo 2.2中存在一些错误,毕竟使用HttpUrlConnection而不是HttpPost是一个好习惯。所以我想将我的HttpPost代码转

  • 我知道以前有人问过“以编程方式登录”的问题,但下面是我正在尝试做的事情。 以下是我到目前为止所做的(代码来自另一个so帖子)。 r.text正确地打印登录后面的页面。我应该如何将此与启动实际firefox实例的webdriver连接起来?这是两个,两个完全不同的浏览器实例吗?