Podemos aumentar la velocidad de los siguientes aspectos:
En primer lugar, reducir los pasos operativos, tales como a través de la San Sibu para abrir la página que queremos prueba, entonces seremos capaces de abrir directamente a través del sitio Web, la reducción de operaciones innecesarias.
En segundo lugar, romper la página se carga, si la página carga el contenido demasiado, podemos mirar a las razones de la lentitud de carga, si el contenido cargado no afecta a nuestra prueba, establecer el tiempo de interrupción se carga la página.
En tercer lugar, establecer el tiempo de espera, que pueden dormir un tiempo fijo, y pueden detectar un elemento después de una espera de interrupción también puede mejorar la velocidad.
En cuarto lugar, configure TestNG implementar multithreading. En la preparación de casos de prueba, debemos lograr la articulación flexible, y en el caso del servidor permite, tratar de establecer operaciones multi-hilo y aumentar la velocidad de ejecución.
En primer lugar, el problema de la velocidad: A veces, las páginas se cargan más lentamente, los elementos de la ejecución del programa a ser operados no presentarse. Esta situación es más común, una carrera de velocidad a través de los tiempos buenos, ejecute de nuevo, la página no se abre, no deje pasar. Con el fin de mejorar la estabilidad, sólo podemos ejecutar momento del sacrificio, más el tiempo de espera antes de un elemento menudo falla para detectar, por lo que después de la aparición de los elementos para ser operado de nuevo para realizar las siguientes operaciones.
En segundo lugar, la razón Selelnium: Selenium1.0 y 2.0 hay diferencias, algunas veces los niños no corren función con eficacia bajo 2.0, cuando la superficie no es válido. Si la función mouseover (), como es el caso, hay que evitar el uso de tales funciones.
En tercer lugar, multi-threading, cuando el caso de prueba entre influyen mutuamente. A pesar de múltiples hilos cuando se ejecuta más rápido, pero si el acoplamiento entre los casos con ningún diseño bueno, afectará, si es el caso de uso A antes del momento en el caso de uso B ejecutado, que afectará a los casos de uso B, de lo contrario no hay ningún problema. Esta situación, si su proyecto de automatización de pruebas tiene la intención de multi-hilo, cuando se prueba por adelantado para hacer un caso de prueba del acoplamiento relativamente flexible, en la medida de lo posible y sin ningún tipo de relación, ya que el orden de ejecución de múltiples hilos es incontrolada.
En primer lugar, la prueba automatizado se utiliza para controlar y, en esto, vamos automatizado de prueba con el momento de la ejecución, Si cada cinco minutos o una hora una vez, puede crear una tarea programada en Jenkins.
En segundo lugar, hay que volver a los casos de uso. Algunos casos de prueba niños, como los casos de prueba BVT, antes de modificar los productos descritos en la línea ninguna necesidad de volver a realizar. A continuación, ponemos el equipo de prueba para la ejecución de disparo, los enlaces se Jenkins nuestra tarea a prueba de desarrollo construir las tareas de automatización. Cuando el desarrollador en la parte superior del entorno de simulación de código, se activará nuestra ejecución automática de casos de prueba.
En tercer lugar, no es necesario que prueba que se realiza con frecuencia. Al igual que el importe total del caso de prueba, que no tenga que volver han sido ejecutados, después de todo, todavía tiene tiempo para consumir, y algunos no principales líneas de negocio no tenga que volver constantemente. Dicha prueba artificial que realizamos, cree una tarea Jenkins, cuando la necesidad de realizar manual para construir a.
Al estudiar el código fuente de selenio-WebDriver, he encontrado que, de hecho, la realización del principio WebDriver no insondable no intenta especular. Aquí para WebDriver Rubí la unión de firefox-WebDriver conseguir, por ejemplo, explicar brevemente el principio de funcionamiento de WebDriver.
-
Cuando el script de prueba para iniciar Firefox, selenio-WebDriver navegador Firefox será la primera puesta en el nuevo hilo. Si el script de prueba especifica el perfil de Firefox, a continuación, comenzar con el perfil, de lo contrario, se iniciará un nuevo perfil, y empezar a Firefox;
-
se inicia método general firefox -no-remoto después de comenzar selenio-WebDriver Firefox se unirá a un puerto específico, Firefox obligado Después de la terminación de la instancia, tal como existe WebDriver un servidor remoto;
-
El cliente (es decir, un script de prueba) para crear una sesión, la solicitud de sesión enviado por http solicitar reparador con el servidor remoto, solicitud de resolución de servidor remoto, y vuelve la operación correspondiente se completa la respuesta;
-
El cliente acepta la respuesta, y analizar su valor de retorno para determinar si ir a paso 3 o el final de la secuencia de comandos;
Este flujo de trabajo es WebDriver, parece muy complicado de entender cuando en realidad la realización del principio de WebDriver después de entender los problemas antes mencionados debe ser relativamente simple.
WebDriver de conformidad con el servidor - diseño clásico diseño de cliente de modo.
servidor de las partes es servidor remoto, puede ser cualquier navegador. Cuando nuestra secuencia de comandos para iniciar el navegador, el navegador es el servidor remoto, su deber es esperar a que el cliente envía una solicitud y responder en consecuencia;
extremo del cliente que simplemente es nuestro código de prueba, hemos probado el código de algunas de las acciones, como abrir un navegador, para saltar a una URL específica y otras operaciones http solicitud se envía a analizar la forma en que el navegador, que es el servidor remoto; servidor remoto acepta la solicitud y realizar la acción apropiada, y la respuesta de estado de ejecución de retorno, la información del valor de retorno y similares;
28, la diferencia entre GET y POST? (Sensación puede no responder)
- porque la solicitud GET no produce ninguna acción. No hay medios de acción que la petición HTTP GET no producirá ningún resultado en el servidor. Pero la seguridad no es un método de acción no se produce aquí simplemente se refiere a un método de seguridad no modifica la información. peticiones POST pueden modificar los recursos en el servidor. Por ejemplo, el blog CSDN, que presente el usuario de un artículo o un lector de enviar una reseña se logra a través de una petición POST, porque entonces enviar el artículo o los comentarios que los recursos presentados (es decir, una página) diferentes, o que los recursos se han modificado.
Diferencia entre las dos formas de solicitud:
1, petición GET, los datos solicitados se añadirán al final de la URL, a? URL y transmitir los datos divididos, una pluralidad de parámetros y conectar. URL formato de codificación utiliza la codificación ASCII en lugar uniclde, y luego transferir es decir, después de que todos los caracteres no ASCII a codificar.
solicitud POST: solicitud POST solicitará paquete de datos se coloca en el cuerpo del paquete de petición de HTTP. El artículo de arriba = sierra de cinta es la transmisión de datos real. de datos, por lo tanto, obtener solicitados serán expuestos en la barra de direcciones, y la solicitud POST no lo hace.
2, el tamaño de la transmisión de datos
En la especificación HTTP, no hay limitación en la longitud y el tamaño de los datos de transmisión de la URL. Pero en el proceso de desarrollo real, por GET, los navegadores y servidores específicos tienen restricciones en la longitud de la URL. Por lo tanto, cuando se utiliza la solicitud GET, los datos de transmisión está limitada por la longitud de la URL.
Para el post, ya que la URL no es valores tradicionales, en teoría, no está restringido, pero de hecho cada servidor requerirán la presentación de datos para limitar el tamaño de la POST, Apache, IIS tiene su propia configuración.
3, la seguridad
La seguridad es mayor que el POST GET
29, en que la compañía ha estado utilizando el sistema de prueba (B / S arquitectura) de repente no se puede visitar, lo que necesita para solucionar problemas y restaurar, decirle a sus métodos de inspección
R: En primer lugar, no puede acceder al sitio de introducir directamente el nombre de dominio, el sitio web también normal antes, de repente no pueden acceder