自動化しているデスクトップ アプリの特定のポイントに到達し、リンクをクリックしてブラウザーで自動化を続行する必要があります。リンクは自動的に Internet Explorer に移動します (それをコピーして chrome に貼り付ける方法についての提案をいただければ幸いです)。デスクトップから Web ビューに切り替え、Web ビューを自動化し、デスクトップ ビューに戻る方法を知る必要があります。
これまでのところ、これは問題を解決するために私が見つけた最も近いものです。私はC#に慣れていないので、実装方法だけでなく、やりたいことの理論を知っています。http://appium.io/docs/en/writing-running-appium/web/hybrid/ . 私はこれまでのところ、コンテキストを出力に記録する必要があります。まだ設定もリセットもできていません。
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 デスクトップ アプリとブラウザーを切り替えることができるかどうか、およびその方法を知る必要があります。