Pregunta

Como estoy usando la herramienta de instrumentos de uiautomation, necesito información a continuación:

1) ¿Existe algún procedimiento para dar datos dinámicamente. Por ejemplo, si necesito usar este script para probar diferentes datos para TextField, ¿cómo puedo lograr sin modificar el script para el valor de TextField codificado? ¿Es posible usar SQLite a través del cual JavaScript tomará una lista de valores de TextField? Soy nueva uiautomation en instrumentos en iOS. La siguiente línea es el primer comando en el script

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

Pero quiero dar setValue en el siguiente comando a través del terminal sin alterar el 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>

¿Alguien puede ayudar cómo dar setValue a través del comando de arriba dyanmicamente? ¿Es otra forma de dar setValue para el nombre de usuario dinámicamente sin alterar el script manualmente?

2) ¿Es posible verificar los componentes y atributos de la pantalla a través de JavaScript en uiautomation?

¿Fue útil?

Solución

1. Sí. Debe escribir un script a nivel de sistema que genera código JavaScript a partir de los datos y llama a los instrumentos desde la línea de comandos. Un script de muestra es:

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

El archivo "test.js" debería parecerse:

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

2. La función value() es la forma correcta de obtener la información solicitada, name() Devuelve la ID de accesibilidad si se da. Nota: en Xcode 5 value() podría no funcionar, usar name() Para solución alternativa, pero antes de la versión 5 estaba bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top