Pergunta

Como estou usando a ferramenta de instrumentos Uiautomation, preciso de informações no seguinte:

1) Existe algum procedimento para a oferta de dados dinamicamente. Por exemplo, se eu precisar usar esse script para testar diferentes dados do TextField, como posso alcançar sem modificar o script para o valor de campo de texto codificado. Não quero fazer através do loop manual no JavaScript? É possível usar o SQLite através do qual JavaScript receberá a lista de valores do campo de texto? Eu sou um novo uiautomation em instrumentos no iOS. A linha a seguir é o primeiro comando no script

        UIATarget.localTarget().frontMostApp().mainWindow().textFields()["username"].setValue("test");

Mas quero dar o SetValue no seguinte comando através do terminal sem alterar o script real

  instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate <full_path_to_application> -e UIASCRIPT <path_to_script.js> -e UIARESULTSPATH <output_results_path>

Alguém pode ajudar como dar o SetValue acima do comando acima dianmicamente? Uma outra maneira de dar o SetValue para o nome de usuário dinamicamente, sem alterar o script manualmente?

2) É possível verificar os componentes e atributos da tela através do JavaScript em Uiautomation?

Foi útil?

Solução

1. Sim. Você deve escrever um script no nível do sistema que gera código JavaScript a partir dos dados e chama os instrumentos da linha de comando. Um script de amostra é:

#!/bin/bash
echo 'var thisIsAGeneratedInput = "Sample Input variable";' > input.js
instruments -t test.tracetemplate your_app_with_path.app -e UIASCRIPT test.js

O arquivo "test.js" deve parecer:

#import "input.js"
UIALogger.logMessage(thisIsAGeneratedInput);

2. A função value() é a maneira correta de obter as informações solicitadas, name() Retorna o ID de acessibilidade, se fornecido. Nota: no xcode 5 value() pode não funcionar, usar name() para solução alternativa, mas antes da versão 5, estava tudo bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top