2012-08-13 86 views
18

Si quiero realizar pruebas automatizadas de una aplicación PhoneGap (por ahora, solo en iOS), ¿qué opciones tengo (si hay alguna)?Prueba automatizada de aplicaciones PhoneGap/Cordova

Selenium habría sido mi primera llamada, pero Can you use Selenium with a phonegap application? sugiere que no es posible. Parece que hay un controlador de iPhone para ejecutar Selenium en iOS, pero no hay ninguna indicación de cómo hacerlo interactuar con PhoneGap. El viejo wiki de PhoneGap seems to imply es posible, pero realmente no dice cómo.

También había considerado usar Jasmine con el plugin Jasmine-jQuery por más o menos lo mismo, pero requiere duplicar el HTML de la aplicación (y la sobrecarga de mantener los dos sincronizados, etc.).

Respuesta

1

Uso de Selenium/WebDriver con PhoneGap/Cordova Android no es posible en este momento. Lo hicimos trabajando en un punto con una cierta versión de WebDriver, pero he tenido problemas para conseguir que la versión actual del cliente WebDriver funcione con WebViews personalizadas, como CordovaWebView, en el que se basa Cordova/PhoneGap Android. Todavía estamos tratando de descubrir cómo hacer que el nuevo código funcione bien con vistas web personalizadas, ya que hasta el momento no hay documentación para esto.

Así que, lamentablemente, la respuesta para este es "todavía no, pero lo estamos intentando".

+0

Gracias, ¿eso también se aplica a iOS? – tolien

+1

¿Por qué esta respuesta aquí es la correcta? Esto no tiene sentido para mí. Hacemos pruebas unitarias en aplicaciones híbridas, las ejecutamos en cualquier plataforma. En el primer caso, cualquier prueba debe ejecutarse en su propio entorno nativo. Más sobre esto aquí: [Probando aplicaciones híbridas] (http://stackoverflow.com/questions/18739352/automatic-testing-for-cordova-phonegap-webview-on-android) – lin

+2

Porque fue la correcta en agosto de 2012. Respondiste a un hilo de dos años. –

0

Puede usar Telerik's Test Studio for iOS - ¡admitimos aplicaciones PhoneGap! (Divulgación: soy el evangelista de la línea de productos Test Studio). Hay a free app in the App Store que le proporcionarán pruebas de estilo de grabación y reproducción, y también tenemos un controlador API disponible si desea realizar pruebas de nivel de marco. (La API está en fase beta en este momento. Me gustaría poder darle acceso si lo desea).

+3

esto se ve bien, pero realmente no resuelve el problema general. Cordova es multiplataforma, pero el estudio de pruebas no lo es y creo que la mayoría de la gente está buscando capacidad de prueba multiplataforma – Matt

1

Mi solución es QUnit. Creé una carpeta 'tests' dentro de mi carpeta 'js', y extraje todos los archivos QUnit allí. Para ejecutar mis pruebas, inicio la página html utilizada por QUnit.

1

He modificado el código de unidad de disco del iPhone actual para usarlo para probar la aplicación tipo "phonegap". He puesto mi código aquí: https://code.google.com/p/selenium-uiwebview/ La razón por la que digo phonegap LIKE solicitud porque Phonegap solo actúa como un puente. Lo que hice en mi implementación fue crear mi propio puente más simple. Pero simplemente puede usar el mismo código con phonegap, ya que he ayudado a uno de mis amigos a hacer eso. Simplemente use la última versión, porque tuvimos algunos problemas con versiones anteriores de XCode. He dado una descripción detallada de la página de inicio del proyecto. Déjame saber cómo funciona.

12

Desde hace poco hemos añadido un ejemplo sobre cómo probar PhoneGap/Cordova aplicaciones utilizando el framework de pruebas de código abierto Appium.

favor refiérase a https://github.com/appium/appium/blob/master/test/functional/webview/gappium.js

Appium básicamente trata a PhoneGap/Cordova aplicaciones como aplicaciones híbridas (vista web integrado).Podrá automatizar sus pruebas utilizando Selenium Webdriver JSON Wire Protocol, que tiene enlaces específicos del idioma para todas las plataformas populares (Python, Ruby, Java, C#, Obj-c, etc.). Incluso es posible cambiar el contexto de la aplicación nativa a la vista web en cualquier momento dado (por ejemplo, si desea cambiar la orientación del dispositivo).

+0

. Me encanta pero ... por favor inserte una documentación ... Si este es un primer intento, todos debemos leer al respecto. ¿Has ejecutado C#/Java Tests? Si no ... esto aparece de nuevo: http://stackoverflow.com/questions/18739352/automatic-testing-for-cordova-phonegap-webview-on-android/21296126 – lin

+3

El enlace ya no es válido. – Darpan

+0

El [ejemplo de gappium] (https://github.com/appium/io.appium.gappium.sampleapp/) no es tan claro. ¿Puede alguien proporcionar una muestra básica que muestre claramente cómo crear un nuevo dirver con capacidades de Android y cambiar al contexto de WEBVIEW? – sgimeno

Cuestiones relacionadas