Não é possível identificar o elemento no WEBVIEW na automação de aplicativos hyprid do iOS usando o Appium no dispositivo real

Eu estava tentando automatizar a criação de aplicativos híbridos usando ionic2 / Angular2 e texto datilografado.

Estou usando C # para escrever código. teste estão em BDD - specflow Versões: iOS: 9.3.1 Xcode: 7.3 Appium: 1.4.13

Não consigo identificar elementos depois de alternar o Contexto para o WEBVIEW.

Chamando o IOSDriver usando o código abaixo

private IOSDriver<IOSElement> driver = null;

public IOSDriver<IOSElement> GetDriver(string platformVersion, string deviceName, string udid ,string appPath, string serverUri)
{
    Capabilities iosCapabilities = new Capabilities();
    DesiredCapabilities capabilities = iosCapabilities.Get(platformVersion, deviceName, udid, appPath);
    driver = new IOSDriver<IOSElement>(new Uri(serverUri), capabilities, TimeSpan.FromSeconds(Constants.DriverWaitTime));
    driver.Manage ().Timeouts ().ImplicitlyWait (TimeSpan.FromSeconds(Constants.ImplicitWaitTime));

    var contextNames = driver.Contexts;
    driver.Context = contextNames[1];

    driver.FindElement(By.Xpath(locator)).Click();

}

Definir capacidades como

private DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.SetCapability ("appium-version", Constants.AppiumVersion);
capabilities.SetCapability ("platformName", Constants.PlatformName);
capabilities.SetCapability("autoWebView", "true");
capabilities.SetCapability("browserName", "iOS");
capabilities.SetCapability ("platformVersion", Constants.PlatformVersion);
capabilities.SetCapability("deviceName", deviceName);
capabilities.SetCapability("app", appPath);
capabilities.SetCapability("udid", udid);

Estou definindo os recursos da maneira correta?

Solução tentada:Verifiquei usando o recurso browserName como espaço em branco / safari, mas não funcionouAlém disso, instalei o ios-webkit-debug-proxy e iniciei o proxy usando o terminal em segundo plano no meu macO problema é que não consigo identificar elementos no WEBVIEW.

O que estou fazendo

Depois de iniciar o aplicativo, no appium inspector eu consigo ver todos os elementos e estou tentando clicar na caixa de texto para inserir algum valor

Xpath da caixa de texto (como posso ver na janela do appium inspector):"// UIAApplication1/ UIAWindow1/ UIAScrollView2/ UIAWebView1/ UIATextField1"

var contextNames = driver.Contexts

está me dando uma lista de visualizações (no meu caso, duas visualizações: NATIVE_APP, WEBVIEW_1) O contexto do WebView é atualizado dinamicamente a partir de 1,2,3 e assim por diante.

Assim que eu ligar

diver.Context=contextNames[1]; //setting context to WEBVIEW

e atualize o inspetor de appium. Não consigo ver / identificar um único elemento. Tudo desaparece.

Por que não consigo ver / identificar elementos depois de mudar para a visualização na web. (Observação: assim que eu voltar para driver.Context = "NATIVE_APP", todos os elementos se tornam visíveis no appium inspector, mas ainda não consigo clicar)

Ele mostra o erro como "Não foi possível localizar um elemento usando o parâmetro de pesquisa fornecido"

Também manualmente, quando tento tocar ou enviar chaves usando o inspetor de aplicativo, isso não é permitido (depois de lançar o aplicativo manualmente usando o botão do inspetor). Qual é o problema aqui. A ajuda seria muito apreciada

Captura de tela do Appium inspector:

Mensagem de erro conforme exibida na janela do appium:

Aqui estão os logs completos do Appium (ERROR)

Link dos logs do Appium quando não é possível identificar elementos no WEBVIEW

questionAnswers(3)

yourAnswerToTheQuestion