WEBVTT

00:00:00.000 --> 00:00:02.790
>> No hay reinicio en
mi temporizador para saber dónde estoy.

00:00:02.790 --> 00:00:06.030
Hola a todos. Buenas tardes.

00:00:06.030 --> 00:00:10.170
¿Qué tal el almuerzo? Todo el mundo disfrutó
este pepinillo gigante? Sé que lo hice.

00:00:10.170 --> 00:00:12.315
Sí, genial.

00:00:12.315 --> 00:00:17.565
Así que esta sesión es
sobre U(I) Pruebas,

00:00:17.565 --> 00:00:19.935
por lo tanto, ¿prueba U(I)?

00:00:19.935 --> 00:00:22.950
Así que antes de empezar, esto es
mi pregunta favorita en el mundo.

00:00:22.950 --> 00:00:24.705
Esta es fácil.

00:00:24.705 --> 00:00:29.175
¿Cuántas personas escriben
¿Pruebas? Una muestra de manos.

00:00:29.175 --> 00:00:31.830
Todos en la corriente,
son bastantes manos.

00:00:31.830 --> 00:00:34.305
Me sorprende, estoy muy feliz.

00:00:34.305 --> 00:00:38.290
Ahora, ¿cuántos de ustedes pruebaN U(I)?

00:00:39.130 --> 00:00:41.705
No está mal, eso es increíble.

00:00:41.705 --> 00:00:44.060
Bueno, así que esta sesión es básicamente,

00:00:44.060 --> 00:00:48.635
y por lo que no voy a hacer
los conceptos básicos de cómo funcionan las pruebas U(I),

00:00:48.635 --> 00:00:51.350
hay un montón de buen contenido
por ahí ya para eso.

00:00:51.350 --> 00:00:54.185
Es súper simple, es
examinar la prueba U(I).

00:00:54.185 --> 00:00:56.735
El marco que seré
hablando de hoy es

00:00:56.735 --> 00:00:58.070
literalmente sólo hecho para

00:00:58.070 --> 00:01:00.740
haciendo U(I) prueba súper
simple y súper grande.

00:01:00.740 --> 00:01:04.820
Así que de lo que estamos hablando hoy
es las mejores prácticas y cómo

00:01:04.820 --> 00:01:08.000
escribir algo que
se habló mucho de

00:01:08.000 --> 00:01:11.195
en la Keynote de hoy,
prueba U(I) multiplataforma.

00:01:11.195 --> 00:01:14.435
¿Quién soy yo?

00:01:14.435 --> 00:01:16.220
Estoy seguro de que nadie me conoce.

00:01:16.220 --> 00:01:19.715
No soy tan famoso como
mucho, pero soy Sweeky.

00:01:19.715 --> 00:01:24.250
Trabajo en lo que llamamos el
Equipo de Asesoramiento al Cliente de DevOps,

00:01:24.250 --> 00:01:25.950
y estoy en el subconjunto que se llama

00:01:25.950 --> 00:01:28.570
el Equipo de Asesoría al Cliente Móvil.

00:01:28.730 --> 00:01:31.260
Somos un montón de gente genial,

00:01:31.260 --> 00:01:32.905
nos encanta Xamarin, nos encanta Mobile,

00:01:32.905 --> 00:01:35.000
y trabajamos en hacer clientes

00:01:35.000 --> 00:01:37.310
felices y trabajamos en la fabricación
nuestros productos mejor.

00:01:37.310 --> 00:01:39.710
Así que conducimos una gran cantidad de retroalimentación,

00:01:39.710 --> 00:01:42.025
así que cualquier cosa que quieras decir,

00:01:42.025 --> 00:01:44.270
Móvil que quieres discutir,

00:01:44.270 --> 00:01:47.015
zapatillas, lo que sea,
sólo ven a buscarme.

00:01:47.015 --> 00:01:50.240
Trabajo en la oficina de San Francisco.

00:01:50.240 --> 00:01:53.575
Soy conocido por codificar caramelos,

00:01:53.575 --> 00:01:56.055
así que si alguna vez me quieres
para escribir pruebas U(I),

00:01:56.055 --> 00:01:58.170
usted sabe cómo sobornarme, y yo soy

00:01:58.170 --> 00:02:01.660
un Microsoft acépteo y
un fan de Xamarin acépteo.

00:02:03.380 --> 00:02:05.670
Ahora que sabes quién soy,

00:02:05.670 --> 00:02:08.070
sígueme en Twitter, sé mi amigo.

00:02:08.070 --> 00:02:10.110
Vayamos a las pruebas.

00:02:10.110 --> 00:02:13.035
Por lo tanto, Xamarin U(I) prueba.

00:02:13.035 --> 00:02:15.045
Para aquellos que no están familiarizados,

00:02:15.045 --> 00:02:21.030
es la unidad basada en NUnit
marco de pruebas,

00:02:21.030 --> 00:02:24.435
pero en C Sharp, y permite
escribir la prueba U(I).

00:02:24.435 --> 00:02:27.434
Su objetivo es ser utilizado
con plataformas móviles,

00:02:27.434 --> 00:02:30.505
para que tus aplicaciones no siempre
tiene que ser una aplicación de Xamarin,

00:02:30.505 --> 00:02:32.690
para que puedan ser una aplicación ReactNative,
pueden ser nativos,

00:02:32.690 --> 00:02:33.980
Aplicación Android o iOS,

00:02:33.980 --> 00:02:36.425
todavía se puede escribir
U(I) prueba para ellos.

00:02:36.425 --> 00:02:39.420
Si te resulta familiar
con cómo funciona NUnit,

00:02:39.420 --> 00:02:42.065
su sintaxis o la prueba se
te resulta muy familiar.

00:02:42.065 --> 00:02:43.280
Así que hay una etiqueta de fijación de prueba,

00:02:43.280 --> 00:02:46.220
hay una etiqueta de prueba, estás
haciendo algunaconfiguración antes de una prueba,

00:02:46.220 --> 00:02:48.380
usted ejecuta la prueba, y luego

00:02:48.380 --> 00:02:51.140
puede tener algo que
después de la prueba.

00:02:51.140 --> 00:02:54.515
Por favor, directo,
Prueba de Xamarin U(I),

00:02:54.515 --> 00:02:57.620
puede ejecutar estas pruebas
localmente, y luego si quieres,

00:02:57.620 --> 00:02:59.480
se puede utilizar la aplicación
servidores de prueba central y

00:02:59.480 --> 00:03:02.155
a continuación, ejecutar sus pruebas
en nuestros laboratorios de dispositivos.

00:03:02.155 --> 00:03:06.020
También se integra muy bien
con sus tuberías CICD,

00:03:06.020 --> 00:03:08.825
que es mi parte favorita
de todo el proceso.

00:03:08.825 --> 00:03:12.000
Así que la descripción de
la charla dijo mucho

00:03:12.000 --> 00:03:15.140
sobre el pop del patrón de objeto de página.

00:03:15.140 --> 00:03:17.510
Entonces, ¿qué es esto exactamente?

00:03:17.510 --> 00:03:20.765
Así que hablemos de ello de esta manera.

00:03:20.765 --> 00:03:25.550
Las aplicaciones móviles suelen venir con
un montón de diferentes puntos de vista,

00:03:25.550 --> 00:03:27.740
cuando realmente escribimos aplicaciones de Xamarin,

00:03:27.740 --> 00:03:30.470
tenemos un montón de
vistas, si es MVVM,

00:03:30.470 --> 00:03:32.060
usted tiene sus puntos de vista
y tienes el código

00:03:32.060 --> 00:03:33.830
detrás para cada vista, esto y aquello,

00:03:33.830 --> 00:03:35.850
concepto tan simple, pensar

00:03:35.850 --> 00:03:38.400
de su aplicación ser un montón
de diferentes páginas,

00:03:38.400 --> 00:03:40.560
así que cuando quieras escribir

00:03:40.560 --> 00:03:42.930
las pruebas U(I) con
el patrón de objeto de página,

00:03:42.930 --> 00:03:44.450
vamos a tratar cada página

00:03:44.450 --> 00:03:47.540
individualmente como
su propia clase independiente.

00:03:47.540 --> 00:03:51.035
Así que los elementos de esa página
vivir en esta clase,

00:03:51.035 --> 00:03:52.730
interacciones que puede hacer con

00:03:52.730 --> 00:03:55.145
estos elementos viven
dentro de la misma clase.

00:03:55.145 --> 00:03:57.790
Así que si tienes un botón en la página a,

00:03:57.790 --> 00:04:01.880
todo el código en la página
clase de a sería una consulta sobre

00:04:01.880 --> 00:04:03.320
cómo el sistema encontrará

00:04:03.320 --> 00:04:06.410
ese botón y cualquier método
para interactuar con un botón.

00:04:06.410 --> 00:04:10.250
Así que haga clic en un botón
o si es una lista,

00:04:10.250 --> 00:04:11.485
así que desliza el dedo sobre una lista,

00:04:11.485 --> 00:04:13.790
todos esos métodos para
que una página vive allí.

00:04:13.790 --> 00:04:15.125
Página b de la aplicación,

00:04:15.125 --> 00:04:18.215
clase separada, en conjunto
tiene sus propias cosas.

00:04:18.215 --> 00:04:23.030
La idea principal detrás de hacer
este es el hecho de que,

00:04:23.030 --> 00:04:25.285
ya que te estás separando
todas estas páginas,

00:04:25.285 --> 00:04:27.275
es muy fácil de mantener.

00:04:27.275 --> 00:04:29.840
Así que supongamos que entras
y haces un cambio

00:04:29.840 --> 00:04:32.710
sólo para gustar tal vez el
configuración en la aplicación,

00:04:32.710 --> 00:04:34.310
todo lo que tienes que hacer es ir

00:04:34.310 --> 00:04:36.035
a la página de configuración
de su prueba y sólo

00:04:36.035 --> 00:04:37.475
actualizar los valores allí y eso es

00:04:37.475 --> 00:04:39.605
su prueba han vuelto a ejecutarse de nuevo.

00:04:39.605 --> 00:04:41.460
Así que es muy fácil de mantener,

00:04:41.460 --> 00:04:43.620
súper fácil de escalar horizontalmente,

00:04:43.620 --> 00:04:45.990
y luego viene mi mejor parte favorita

00:04:45.990 --> 00:04:48.490
de este patrón que
hace a través de la plataforma.

00:04:48.490 --> 00:04:51.775
Así que esa misma página puede
existen en iOS o Android.

00:04:51.775 --> 00:04:56.005
Entonces, ¿cuál podría ser la posible
no hay factor diferenciadal aquí?

00:04:56.005 --> 00:04:58.790
En Android, el botón podría haber

00:04:58.790 --> 00:05:01.260
una consulta separada y luego también

00:05:01.260 --> 00:05:02.460
tal vez hay un poco de un

00:05:02.460 --> 00:05:04.110
ningún comportamiento táctil que sea diferente,

00:05:04.110 --> 00:05:07.535
para que pueda manejar eso en su código
con las comprobaciones en el dispositivo.

00:05:07.535 --> 00:05:09.260
Así que de nuevo, súper simple,

00:05:09.260 --> 00:05:10.520
súper fácil de configurar,

00:05:10.520 --> 00:05:12.965
y veremos más sobre ello ahora.

00:05:12.965 --> 00:05:15.230
Así que lo que estaba hablando

00:05:15.230 --> 00:05:17.760
sobre visualmente sólo
imaginando todo el asunto.

00:05:17.760 --> 00:05:20.485
Así que estos son diferentes
páginas de su aplicación,

00:05:20.485 --> 00:05:23.855
tomar cada página y girar
cada página en una clase,

00:05:23.855 --> 00:05:26.420
así es literalmente como los primeros pasos

00:05:26.420 --> 00:05:29.075
de escribir la página
se inicia el patrón de objetos.

00:05:29.075 --> 00:05:33.840
Así que si quieres ser un
poco más elegante al respecto,

00:05:33.840 --> 00:05:35.855
cuando termines de configurar

00:05:35.855 --> 00:05:37.130
todo el patrón arquitectónico y

00:05:37.130 --> 00:05:38.440
cuando vuelvas y
miras tus pruebas,

00:05:38.440 --> 00:05:39.650
nunca va a haber

00:05:39.650 --> 00:05:41.660
un punto que te apetece,
"Oh, ¿qué escribí?

00:05:41.660 --> 00:05:43.280
¿Qué significa esto?"
Va a haber

00:05:43.280 --> 00:05:46.720
una correlación directa entre
su aplicación y sus pruebas.

00:05:46.720 --> 00:05:51.120
Así que lo hace tanto
más agradable escribir sus pruebas,

00:05:51.120 --> 00:05:54.710
Siento que sólo alienta
todos a reservar,

00:05:54.710 --> 00:05:56.555
mantener, y escribir una buena prueba U(I),

00:05:56.555 --> 00:05:59.065
que creo que es muy importante.

00:05:59.065 --> 00:06:01.020
Si puedo, lo diré,

00:06:01.020 --> 00:06:02.395
Digo esto todo el tiempo,

00:06:02.395 --> 00:06:05.900
pero vivimos en la era de
aplicaciones móviles y vivimos en la era

00:06:05.900 --> 00:06:07.130
de hacer clientes y

00:06:07.130 --> 00:06:09.530
sus usuarios muy contentos
con sus aplicaciones móviles.

00:06:09.530 --> 00:06:11.360
Si no los probara,

00:06:11.360 --> 00:06:12.890
hay un subconjunto mínimo de

00:06:12.890 --> 00:06:15.890
10 por ciento que no están recibiendo
el mejor aspecto visual de

00:06:15.890 --> 00:06:17.600
su aplicación sólo porque
nunca lo probó en

00:06:17.600 --> 00:06:20.900
que un teléfono obsoleto
que alguien está usando.

00:06:20.900 --> 00:06:22.985
Así es como puedes
pruebas de apalancamiento U(I)

00:06:22.985 --> 00:06:24.680
y el centro de aplicaciones y
asegúrese de que la aplicación

00:06:24.680 --> 00:06:26.390
se ve hermosa y funciona muy bien

00:06:26.390 --> 00:06:28.930
en todas las diferentes plataformas
que están tratando de apoyar.

00:06:28.930 --> 00:06:34.940
Así que la siguiente cosa impresionante acerca de
el patrón de objeto de página es,

00:06:34.940 --> 00:06:38.615
si ha escrito la prueba U(I)
antes o si no lo has hecho,

00:06:38.615 --> 00:06:41.645
esto es básicamente lo que un
simple prueba U(I) se parece.

00:06:41.645 --> 00:06:43.100
Así que tienes, como dije,

00:06:43.100 --> 00:06:44.630
es muy similar a
el patrón NUnit,

00:06:44.630 --> 00:06:47.415
que usted tiene que configurar, y
tienes la prueba real,

00:06:47.415 --> 00:06:48.745
y en la prueba, si miras,

00:06:48.745 --> 00:06:51.725
tiene una línea muy larga que dice,

00:06:51.725 --> 00:06:54.260
Aplicación. Toque, y luego está tratando de

00:06:54.260 --> 00:06:57.685
encontrar un elemento en
la pantalla por su ID.

00:06:57.685 --> 00:07:01.190
La belleza del uso
el patrón de objeto de página es,

00:07:01.190 --> 00:07:03.680
lo hace un poco más
genérico en el sentido de que,

00:07:03.680 --> 00:07:05.705
recordar esas páginas
Estaba hablando de,

00:07:05.705 --> 00:07:09.370
literalmente se convierte en
en la página de inicio de sesión,

00:07:09.890 --> 00:07:12.450
realizar la acción de inicio de sesión,

00:07:12.450 --> 00:07:14.480
y luego usar este nombre de usuario
y contraseña.

00:07:14.480 --> 00:07:17.210
Así que hace que sea más fácil de leer también.

00:07:17.210 --> 00:07:19.520
Así que de nuevo, si alguien que es
no se han realizado las pruebas antes,

00:07:19.520 --> 00:07:21.080
no es realmente, "Oh,

00:07:21.080 --> 00:07:23.470
Dios mío, ¿cómo voy a
escribir una prueba de C Sharp?

00:07:23.470 --> 00:07:25.275
Pueden venir
y ser como, "Oh,

00:07:25.275 --> 00:07:26.610
esto sólo se lee como inglés,

00:07:26.610 --> 00:07:27.915
esto no es tan difícil de entender,

00:07:27.915 --> 00:07:29.940
Sé lo que está pasando en esta prueba".

00:07:29.940 --> 00:07:34.470
Así puedo seguir adelante
una y una vez así,

00:07:34.470 --> 00:07:36.325
pero esto no es divertido.

00:07:36.325 --> 00:07:39.305
Lo que voy a hacer ahora es,

00:07:39.305 --> 00:07:41.420
Voy a cambiar y en realidad

00:07:41.420 --> 00:07:43.820
escribir una prueba de botón de objeto de página
para ti ahora mismo,

00:07:43.820 --> 00:07:47.100
porque quien no
como un poco de codificación en vivo?

00:07:47.930 --> 00:07:52.590
Así que mientras me configuran esta cosa.

00:07:52.590 --> 00:07:55.760
Así que esto se ha convertido en un
pasatiempo lateral mío.

00:07:55.760 --> 00:07:59.815
Así que esta es una aplicación que
mi buen amigo James Clancy,

00:07:59.815 --> 00:08:03.660
si lo recuerdas de
Xamarin evolucionar 2016,

00:08:03.660 --> 00:08:06.170
dio mi charla favorita
en Async esperar,

00:08:06.170 --> 00:08:08.210
definitivamente cobrado
vídeos en YouTube.

00:08:08.210 --> 00:08:11.490
Pero así, ha sido
trabajando en su música,

00:08:11.490 --> 00:08:14.870
un préstamo de Google Music y él es
ha estado reescribiendo su Google,

00:08:14.870 --> 00:08:16.730
así que originalmente era sólo para iOS,

00:08:16.730 --> 00:08:18.430
lo ha estado reescribiendo para empresas,

00:08:18.430 --> 00:08:20.640
y es un código abierto
proyecto que le enseña

00:08:20.640 --> 00:08:23.700
todos los miércoles,
sólo debe comprobarlo.

00:08:23.700 --> 00:08:26.150
Me di cuenta de que ha estado escribiendo

00:08:26.150 --> 00:08:27.840
toda esta cuadrícula de Xamarin Forms puntuación,

00:08:27.840 --> 00:08:29.985
pero adivina qué, no ha estado haciendo,

00:08:29.985 --> 00:08:32.120
Pruebas de interfaz de usuario, cualquiera de ellas.

00:08:32.120 --> 00:08:36.995
Así que como mi contribución a
la comunidad de código abierto,

00:08:36.995 --> 00:08:39.410
ahora escribiremos la interfaz de usuario
pruebas para Clancy,

00:08:39.410 --> 00:08:42.990
y Clancy si estás
mirando, son bienvenidos.

00:08:43.490 --> 00:08:48.370
Así que antes de empezar,

00:08:48.860 --> 00:08:51.495
así que de nuevo, estos son consejos y trucos,

00:08:51.495 --> 00:08:53.030
así que voy a dar
consejos y trucos.

00:08:53.030 --> 00:08:56.630
Consejo número 1, siempre me
sugerir pruebas en dispositivos reales.

00:08:56.630 --> 00:08:58.340
Así que se puede ver a la derecha
ahora, pero en esta mesa,

00:08:58.340 --> 00:09:01.290
En realidad tengo un icono en
un dispositivo iOS conectado,

00:09:01.290 --> 00:09:03.305
y estoy reflejando la pantalla
lo es para ti ahora mismo.

00:09:03.305 --> 00:09:05.850
Así que esto es lo que la aplicación
parece que ahora mismo,

00:09:05.850 --> 00:09:07.380
así que si entras,

00:09:07.380 --> 00:09:08.850
verás una lista de canciones,

00:09:08.850 --> 00:09:10.905
puedes deslizarte hacia arriba,

00:09:10.905 --> 00:09:15.450
y se puede ver este agradable
poco ahora jugando a la pantalla.

00:09:15.450 --> 00:09:17.295
Esto es lo más lejos que tiene,

00:09:17.295 --> 00:09:18.990
y si deslizas el dedo hacia un lado,

00:09:18.990 --> 00:09:21.195
mira esta hermosa
gradiente que tiene,

00:09:21.195 --> 00:09:24.015
y se puede ver el
menú de navegación lateral.

00:09:24.015 --> 00:09:26.285
Bien. Así que esto es lo más lejos que tiene,

00:09:26.285 --> 00:09:29.325
así que vamos a conseguir un poco de U(I)
pruebas escritas para esto.

00:09:29.325 --> 00:09:33.745
Así que ya que usted puede sólo
ver mi dispositivo iOS aquí,

00:09:33.745 --> 00:09:35.665
ahora voy a empezar con iOS.

00:09:35.665 --> 00:09:38.960
Este es el proyecto de prueba U(I) que
ves a la izquierda por aquí,

00:09:38.960 --> 00:09:42.850
esto es literalmente lo que
obtener cuando hago clic derecho,

00:09:42.850 --> 00:09:49.120
"Add", "New Project" y yo elijo
si mi cosa aparece, ahí vamos.

00:09:49.120 --> 00:09:50.955
Así que si elijo un proyecto de prueba U(I),

00:09:50.955 --> 00:09:54.260
esta es la plantilla en blanco
código que se obtiene.

00:09:54.260 --> 00:09:55.910
No he hecho nada en absoluto,

00:09:55.910 --> 00:09:58.505
esto es como es como lo consigues.

00:09:58.505 --> 00:10:00.135
Todo lo que he hecho es,

00:10:00.135 --> 00:10:01.605
en el inicializador de la aplicación,

00:10:01.605 --> 00:10:05.190
Acabo de poner una parte
a donde el APK para

00:10:05.190 --> 00:10:07.160
el dispositivo Android se construye para

00:10:07.160 --> 00:10:09.730
y puse en síntesis en mi dispositivo,

00:10:09.730 --> 00:10:12.275
Puse el ID del paquete
para la aplicación iOS.

00:10:12.275 --> 00:10:15.680
Así que eso es todo lo que necesitas
hacer para empezar.

00:10:15.680 --> 00:10:19.330
Así que para asegurarme de que
no rompió nada,

00:10:19.330 --> 00:10:24.340
vamos a ejecutar la aplicación
porque ese es el paso número 1.

00:10:24.340 --> 00:10:26.795
Así que vamos a obtener iOS,

00:10:26.795 --> 00:10:29.510
pongamos en marcha la prueba,
por lo que el patrón de objeto de página.

00:10:29.510 --> 00:10:30.955
La forma en que funciona el patrón es,

00:10:30.955 --> 00:10:34.070
se basa en cuatro páginas principales.

00:10:34.070 --> 00:10:35.820
Si fueras a ir a

00:10:35.820 --> 00:10:40.580
nuestro repositorio GitHub
donde tenemos esta configuración,

00:10:40.580 --> 00:10:42.140
hay una muestra allí,

00:10:42.140 --> 00:10:43.610
tenemos un wiki que

00:10:43.610 --> 00:10:46.190
de nuevo pasa por todo
que estoy discutiendo en este momento.

00:10:46.190 --> 00:10:47.385
Así que si te olvidas,

00:10:47.385 --> 00:10:49.055
sólo tienes que entrar y tener una lectura.

00:10:49.055 --> 00:10:51.165
Pero literalmente, todo el U(I),

00:10:51.165 --> 00:10:53.179
todas las páginas del patrón
se puede encapsular

00:10:53.179 --> 00:10:55.790
en estas cuatro páginas que
Lo mencioné allí.

00:10:55.790 --> 00:10:58.465
Ese Gerente, un accesorio de prueba base,

00:10:58.465 --> 00:11:01.640
una página base y una consulta de plataforma.

00:11:05.330 --> 00:11:07.710
Oops, ¿qué hice?

00:11:07.710 --> 00:11:10.060
¿Tengo un error de prueba?

00:11:15.200 --> 00:11:17.385
De acuerdo, voy a
tal salida para Android,

00:11:17.385 --> 00:11:21.380
sólo por un rato, y poner esto en marcha.

00:11:21.380 --> 00:11:24.960
Mis dispositivos se desconectan.

00:11:31.590 --> 00:11:37.630
Lo tenemos. ¿Quién va a
conectar esto de nuevo. Muy bien.

00:11:37.630 --> 00:11:41.605
Así que tenemos nuestro Repl en el lado,

00:11:41.605 --> 00:11:43.870
que utilizaremos para consultar
los elementos de la pantalla,

00:11:43.870 --> 00:11:45.745
tenemos mi aplicación en el frente.

00:11:45.745 --> 00:11:49.150
Pero antes de hacer nada de eso va
volver al patrón de objeto de página.

00:11:49.150 --> 00:11:51.310
Así que esas cuatro páginas base.

00:11:51.310 --> 00:11:53.830
Día a día, acabo de entrar y sólo

00:11:53.830 --> 00:11:56.170
literalmente simplemente ir "Archivo nuevo"
y copiar en esas páginas.

00:11:56.170 --> 00:11:59.470
Pero si quisieras ser
súper conveniente para ti,

00:11:59.470 --> 00:12:04.075
tenemos un paquete NuGet
que se pueden importar,

00:12:04.075 --> 00:12:05.800
y todo lo que hace es simplemente auto

00:12:05.800 --> 00:12:07.840
inyecta esas cuatro páginas
que mencioné,

00:12:07.840 --> 00:12:11.845
baseTest, BasePage,
PlatformQuery y AppManager.

00:12:11.845 --> 00:12:14.350
Sólo añade que en
automáticamente para usted.

00:12:14.350 --> 00:12:15.730
Así que voy a hacer eso.

00:12:15.730 --> 00:12:17.530
Si te das cuenta, uno, dos,

00:12:17.530 --> 00:12:20.260
tres, cuatro; se añaden cuatro páginas.

00:12:20.260 --> 00:12:22.030
Vamos a ver lo que cada uno de ellos se ve como

00:12:22.030 --> 00:12:24.040
una pequeña sin cosas que tenemos
para establecer allí.

00:12:24.040 --> 00:12:30.925
Así que AppManager se convertirá en
el nuevo AppInitializer.

00:12:30.925 --> 00:12:33.970
Todo AppManager literalmente
hacer es que es sólo decir

00:12:33.970 --> 00:12:35.560
el marco aquí es donde

00:12:35.560 --> 00:12:38.305
la aplicación Android es y esto
es donde está la aplicación iOS.

00:12:38.305 --> 00:12:40.840
Ya que ya lo tenía establecido
en este código de aquí,

00:12:40.840 --> 00:12:44.680
Voy a copiar la parte
porque no quiero escribir esto

00:12:44.680 --> 00:12:48.820
otra vez, con esto aquí.

00:12:48.820 --> 00:12:51.340
Así que si estuvieras haciendo
esto, otro consejo,

00:12:51.340 --> 00:12:53.770
tanto en Windows como en Mac,

00:12:53.770 --> 00:12:56.035
puede hacer clic derecho aquí
y añadir un proyecto de aplicación.

00:12:56.035 --> 00:12:57.985
Esto se conectará a las soluciones,

00:12:57.985 --> 00:12:59.380
si está haciendo una aplicación xamarin,

00:12:59.380 --> 00:13:02.530
y tienes tu solución
con el UITest en paralelo.

00:13:02.530 --> 00:13:05.365
Puede conectarlos a
trabajar entre sí.

00:13:05.365 --> 00:13:11.410
Normalmente evito hacer eso
sobre todo porque a veces puede

00:13:11.410 --> 00:13:13.810
tomar unos minutos si es

00:13:13.810 --> 00:13:17.800
una aplicación muy grande para que comience
porque va a reconstruir la aplicación,

00:13:17.800 --> 00:13:21.370
desplegarlo en el dispositivo, y
a continuación, comience la prueba para usted.

00:13:21.370 --> 00:13:23.635
Me gusta un tiempo de respuesta más rápido,

00:13:23.635 --> 00:13:25.420
así que por lo general sólo hago

00:13:25.420 --> 00:13:27.250
seguro de que las aplicaciones ya
instalado en mi dispositivo,

00:13:27.250 --> 00:13:28.420
y luego empiezo a escribir pruebas.

00:13:28.420 --> 00:13:33.500
Eso es un pequeño consejo genial, que
puede ayudarle a veces.

00:13:33.840 --> 00:13:36.730
Déjame meter eso aquí. Muy bien.

00:13:36.730 --> 00:13:40.810
Así que todo lo que he hecho en esto es otra vez
acaba de poner en el camino a donde

00:13:40.810 --> 00:13:45.595
el APK y el instalado
ID móvil para mi aplicación.

00:13:45.595 --> 00:13:47.980
Ahora puedo deshacer me de AppInitializer,

00:13:47.980 --> 00:13:49.705
Ya no necesito esto.

00:13:49.705 --> 00:13:53.350
Así que vamos a eliminar. Siguiente paso.

00:13:53.350 --> 00:13:55.585
Tenemos AppInitializer hecho.

00:13:55.585 --> 00:13:59.335
Tenemos que ahora entrar y vamos a
echar un vistazo a la BasePage.

00:13:59.335 --> 00:14:00.640
Así que BasePage.

00:14:00.640 --> 00:14:02.650
Así que cada página que
estaba hablando de,

00:14:02.650 --> 00:14:03.850
como si cada clase es una página,

00:14:03.850 --> 00:14:05.605
por lo que cada página va
para heredar esto.

00:14:05.605 --> 00:14:07.390
Todo lo que esto está haciendo es que te proporciona

00:14:07.390 --> 00:14:09.685
con un en Android y en iOS.

00:14:09.685 --> 00:14:11.980
Así es como se puede hacer
que la división multiplataforma

00:14:11.980 --> 00:14:13.810
de la que estaba hablando.

00:14:13.810 --> 00:14:16.390
Otra cosa genial que
el BasePage hace para

00:14:16.390 --> 00:14:18.715
es que toma una captura de pantalla gratuita.

00:14:18.715 --> 00:14:21.295
Así que si quieres correr
estas pruebas en App Center,

00:14:21.295 --> 00:14:23.830
por lo general es que no tiene
capturas de pantalla en su prueba,

00:14:23.830 --> 00:14:25.030
si sólo subes una prueba,

00:14:25.030 --> 00:14:26.860
usted no va a conseguir
un buen resultado de la prueba.

00:14:26.860 --> 00:14:28.330
Para hacerte la vida más fácil,

00:14:28.330 --> 00:14:30.610
tenemos un AssertOnPage.

00:14:30.610 --> 00:14:33.250
Es gratis. Lo hace
automáticamente en cada página.

00:14:33.250 --> 00:14:35.290
Así que en cada página que
hereda un BasePage,

00:14:35.290 --> 00:14:37.600
es automáticamente
va a verificar, "Oye,

00:14:37.600 --> 00:14:40.434
es esto en la página que estoy esperando?

00:14:40.434 --> 00:14:42.820
Ahora, te estarías preguntando cómo
¿el sistema sabe o

00:14:42.820 --> 00:14:45.190
¿cómo estamos verificando que es
en la página que tiene que ser.

00:14:45.190 --> 00:14:47.200
Eso es lo que esta magia
cosa poco y

00:14:47.200 --> 00:14:49.780
el cuarto archivo llamado PlatformQuery.

00:14:49.780 --> 00:14:52.660
Así que esto es lo que usamos en

00:14:52.660 --> 00:14:54.010
este patrón para asegurarse de que está

00:14:54.010 --> 00:14:55.840
en la página que se espera que esté.

00:14:55.840 --> 00:14:58.315
Por ejemplo, si usted está
en una página de inicio de sesión,

00:14:58.315 --> 00:15:01.060
lo más probable es que algunas personas
por lo general tienen la Palabra

00:15:01.060 --> 00:15:03.700
inicio de sesión o como iniciar sesión en esa página,

00:15:03.700 --> 00:15:05.440
sólo se puede utilizar que
como bandeja de la plataforma

00:15:05.440 --> 00:15:07.180
para asegurarse de que usted es
en la página se esperan,

00:15:07.180 --> 00:15:09.100
Así que sólo algo
único en esa página.

00:15:09.100 --> 00:15:10.870
Para que lo sepas con seguridad, de acuerdo,

00:15:10.870 --> 00:15:12.490
Estoy en la página estoy
se espera que sea y yo

00:15:12.490 --> 00:15:14.665
puede realizar las acciones en esa página.

00:15:14.665 --> 00:15:17.455
La parte buena es una vez que
verifica que estás en esa página,

00:15:17.455 --> 00:15:18.850
toma una captura de pantalla gratuita para usted.

00:15:18.850 --> 00:15:21.325
Así que es como en esta página.

00:15:21.325 --> 00:15:24.415
Muy bien. Así que eso es
lo que hace BasePage.

00:15:24.415 --> 00:15:29.575
BaseTestFixtures son todas las pruebas
va a heredar esto.

00:15:29.575 --> 00:15:32.050
El mismo proceso. Así que son
proporcionando a los

00:15:32.050 --> 00:15:34.870
iOS y en android valores aquí.

00:15:34.870 --> 00:15:37.870
Una vez más, a veces hay
algunos defectos en la aplicación que puede

00:15:37.870 --> 00:15:41.620
poco por defecto poco
entre iOS y Android.

00:15:41.620 --> 00:15:43.780
Así que dentro de sus pruebas,
puede tener una ruptura y

00:15:43.780 --> 00:15:46.870
la falla usando estos valores.

00:15:46.870 --> 00:15:50.035
Literalmente, todo lo que hace es agarrar

00:15:50.035 --> 00:15:52.735
el valor de AppManager
e inicia la aplicación para usted.

00:15:52.735 --> 00:15:54.580
Eso es todo. Es súper simple,

00:15:54.580 --> 00:15:57.860
nada demasiado complicado, nada
demasiado elegante pasando por aquí.

00:15:57.870 --> 00:16:02.140
La última es la prueba en sí.

00:16:02.140 --> 00:16:06.160
Así que así fue como el
la prueba inicial parece,

00:16:06.160 --> 00:16:08.610
pero si te diste cuenta
en el accesorio de prueba,

00:16:08.610 --> 00:16:11.580
ya estamos haciendo como todos los
estas cosas de etiquetado allí.

00:16:11.580 --> 00:16:13.470
Así que podemos adelgazar toda la prueba,

00:16:13.470 --> 00:16:15.060
no necesita todos estos valores.

00:16:15.060 --> 00:16:21.220
Lo que va a empezar a buscar
como es algo como esto.

00:16:21.220 --> 00:16:26.365
Así que su prueba literalmente
simplemente hereda BaseTestFixture.

00:16:26.365 --> 00:16:27.970
Una vez más, estamos pasando en la plataforma,

00:16:27.970 --> 00:16:30.775
para que sepa en qué plataforma ejecutar.

00:16:30.775 --> 00:16:34.450
Así que el Repl es el
leer sólo bucle eval,

00:16:34.450 --> 00:16:36.685
lo que llevó a la consulta de
elementos de la pantalla.

00:16:36.685 --> 00:16:38.935
Así que usted puede tener una prueba
que sólo lanza eso,

00:16:38.935 --> 00:16:40.960
y luego tengo otra prueba
ya escrito en

00:16:40.960 --> 00:16:44.155
aquí que entra en la página de inicio,

00:16:44.155 --> 00:16:46.750
como en la página de inicio que
las aplicaciones están en este momento.

00:16:46.750 --> 00:16:48.355
Permítanme levantar la aplicación de nuevo.

00:16:48.355 --> 00:16:52.690
Se deslizará y se
vaya a la pestaña Configuración.

00:16:52.690 --> 00:16:57.490
Así que prueba simple sólo para asegurarse de
No he estropeado nada.

00:16:57.490 --> 00:16:58.765
Así que la prueba está ahí.

00:16:58.765 --> 00:17:02.470
Echemos un vistazo a lo que
una página completada parece.

00:17:02.470 --> 00:17:04.495
Vamos a escribir
esta página, así que no te preocupes.

00:17:04.495 --> 00:17:08.540
Así que caminar a través de lo que puede esperar.

00:17:09.060 --> 00:17:12.745
Así es como se ve una página.

00:17:12.745 --> 00:17:16.150
Unos cuantos consejos aquí. Cosa extraterrestre

00:17:16.150 --> 00:17:19.855
la consulta de Word hace
la vida mucho más agradable.

00:17:19.855 --> 00:17:24.145
Así que cuando se está configurando
los diferentes botones de la pantalla,

00:17:24.145 --> 00:17:25.930
simplemente puedes hacer consultas,

00:17:25.930 --> 00:17:28.450
o incluso puedes hacerlo
en un pequeño funk elegante.

00:17:28.450 --> 00:17:30.190
Así que eso es un pequeño consejo genial para tener.

00:17:30.190 --> 00:17:31.780
Así que no tenemos estos
botones en la pantalla.

00:17:31.780 --> 00:17:33.385
Voy a comentar
esto por ahora.

00:17:33.385 --> 00:17:36.820
Lo siguiente que notarás
es que hereda algo de BasePage.

00:17:36.820 --> 00:17:39.820
Así que si yo fuera a quitar esto,

00:17:39.820 --> 00:17:41.860
el sistema
automáticamente ser como,

00:17:41.860 --> 00:17:43.135
No hay algo mal.

00:17:43.135 --> 00:17:46.270
No voy a dejar que hagas esto
porque necesita implementar

00:17:46.270 --> 00:17:49.960
las implementaciones de consultas de plataforma.

00:17:49.960 --> 00:17:52.810
Porque como dije, es
lo que impulsa el sistema,

00:17:52.810 --> 00:18:00.520
es lo que básicamente ayuda
el sistema entiende lo siento,

00:18:00.520 --> 00:18:02.635
que está bien, esto está en
la página que se supone que debo ser,

00:18:02.635 --> 00:18:05.275
y ahora puedo realizar
las acciones en él.

00:18:05.275 --> 00:18:11.320
Así que la página de inicio, eso es literalmente
esta página que aterriza en,

00:18:11.320 --> 00:18:15.730
comprueba, por lo que en iOS,

00:18:15.730 --> 00:18:17.890
es texto para este botón.

00:18:17.890 --> 00:18:19.690
No tengo un iOS abierto, ¿verdad?

00:18:19.690 --> 00:18:21.910
Comprueba este botón
que dice gMusic.

00:18:21.910 --> 00:18:25.420
Pero si te das cuenta, hay
ningún menú añadir tarea en Android.

00:18:25.420 --> 00:18:28.960
Así que vamos a averiguar lo que el comercio
podría ser para Android.

00:18:28.960 --> 00:18:31.525
Déjame ir, ¿dónde está mi Repl,

00:18:31.525 --> 00:18:33.970
no mi terminal se vaya.

00:18:33.970 --> 00:18:39.080
Así que vamos a ver lo que
han estado pasando aquí.

00:18:40.140 --> 00:18:43.780
En esta corriente gigante de cosas,

00:18:43.780 --> 00:18:45.625
esto puede ser un poco abrumador.

00:18:45.625 --> 00:18:47.125
Si estás escribiendo la interfaz de usuario
prueba por primera vez,

00:18:47.125 --> 00:18:48.340
Conozco a mucha gente que no

00:18:48.340 --> 00:18:49.930
como mirar rapel
y no te culpo,

00:18:49.930 --> 00:18:51.670
esta es una información de Cortana.

00:18:51.670 --> 00:18:54.940
Una vez más, pocos consejos y trucos
sólo para hacer tu vida más fácil.

00:18:54.940 --> 00:18:58.765
Cosas en estos corchetes
son generalmente clases.

00:18:58.765 --> 00:19:01.750
Si está consultando para una clase
y tratas de averiguar,

00:19:01.750 --> 00:19:04.660
si puedo encontrar una identificación para
una página o un elemento,

00:19:04.660 --> 00:19:07.480
Puedo usar la clase, este
es lo que quieres usar.

00:19:07.480 --> 00:19:09.310
Lo que voy a hacer es,

00:19:09.310 --> 00:19:12.295
En realidad entré y añadí
un par de ides de automatización,

00:19:12.295 --> 00:19:15.010
y veo que ahora hay
página de juego y hay

00:19:15.010 --> 00:19:17.800
un mini jugador que es
esta cosa en la parte inferior,

00:19:17.800 --> 00:19:19.900
así que voy a usar
que como el rasgo.

00:19:19.900 --> 00:19:21.940
Entremos aquí y reemplacemos eso,

00:19:21.940 --> 00:19:23.635
así que tenemos mini jugador.

00:19:23.635 --> 00:19:26.530
Así que la página de inicio se ve bien
suficiente para mí, eso está bien.

00:19:26.530 --> 00:19:28.990
No voy a poner ningún método
en la página de inicio en este momento sólo

00:19:28.990 --> 00:19:31.480
porque no estamos haciendo
cualquier acción en la página de inicio todavía,

00:19:31.480 --> 00:19:34.885
todo lo que estamos haciendo es deslizar
en ese menú lateral.

00:19:34.885 --> 00:19:39.145
Voy a volver a
la página base por un rato,

00:19:39.145 --> 00:19:41.980
porque hay
cool funky pequeña cosa

00:19:41.980 --> 00:19:44.065
Tengo aquí que estoy
va a copiar más.

00:19:44.065 --> 00:19:47.230
Lo que está pasando es,

00:19:47.230 --> 00:19:49.585
la página base es súper potente.

00:19:49.585 --> 00:19:51.940
Una de las cosas geniales que
quiero destacar aquí es,

00:19:51.940 --> 00:19:55.750
si nos fijamos en la forma en que esta aplicación
funciona, permítanme poner esto,

00:19:55.750 --> 00:19:58.390
así que estás en las canciones que en este momento,

00:19:58.390 --> 00:20:00.160
puedes cambiar a artistas.

00:20:00.160 --> 00:20:03.835
Una vez más, el menú lateral sigue
accesible desde la misma página.

00:20:03.835 --> 00:20:06.010
Si envoy a géneros,

00:20:06.010 --> 00:20:08.245
de nuevo el menú lateral es accesible,

00:20:08.245 --> 00:20:09.940
y me encanta el lado anfitrión,
y nadie ha

00:20:09.940 --> 00:20:12.055
reaccionó a mi gusto basura en la música,

00:20:12.055 --> 00:20:14.210
ustedes son los mejores.

00:20:14.760 --> 00:20:17.245
La cosa es que esta es una página compartida

00:20:17.245 --> 00:20:18.880
es como la funcionalidad compartida,

00:20:18.880 --> 00:20:20.800
así que vamos a compartir el código.

00:20:20.800 --> 00:20:24.670
Voy a poner esto
en mi página base,

00:20:24.670 --> 00:20:29.185
así que todo esto está haciendo es esto
es el método de menú Seleccionar,

00:20:29.185 --> 00:20:31.090
que va a hacer
la acción de abrir

00:20:31.090 --> 00:20:33.250
el menú y seleccione un elemento de menú.

00:20:33.250 --> 00:20:35.845
Voy a poner esto en la página base
porque parece

00:20:35.845 --> 00:20:39.460
cada página en esta aplicación
tiene acceso a esta página base.

00:20:39.460 --> 00:20:41.470
Se va a hacer
mi vida más fácil de hacer eso.

00:20:41.470 --> 00:20:45.775
Otro truco genial es el regreso
valores de estos métodos.

00:20:45.775 --> 00:20:47.635
Si devuelves la página en la que estás,

00:20:47.635 --> 00:20:49.450
usted puede seguir encadenando en los métodos

00:20:49.450 --> 00:20:51.895
sólo hace su prueba
se ven mucho más agradables.

00:20:51.895 --> 00:20:54.865
Lo que recomendamos con
el patrón de objeto de página es,

00:20:54.865 --> 00:20:58.825
si es un método que no
navegar fuera de esa página,

00:20:58.825 --> 00:21:00.610
hacer que el tipo de valor devuelto sea la propia página.

00:21:00.610 --> 00:21:01.990
Porque eso significa que
vas a continuar

00:21:01.990 --> 00:21:03.400
haciendo más acciones en esa página,

00:21:03.400 --> 00:21:06.490
usted no quiere nuevo una página
cuando estás escribiendo la prueba.

00:21:06.490 --> 00:21:08.560
Pero si estás navegando
lejos de la página,

00:21:08.560 --> 00:21:10.210
significa que hay
va a ser una nueva página

00:21:10.210 --> 00:21:12.580
sucediendo después de este método
se hace de todos modos,

00:21:12.580 --> 00:21:16.615
así que es cuando quieres hacer
que en par. Ese es otro buen consejo.

00:21:16.615 --> 00:21:22.420
No tengo mi alias de uso en
aquí, así que permítanme detener eso,

00:21:22.420 --> 00:21:26.000
quieres usar algunos funks y wow.

00:21:26.790 --> 00:21:31.900
Bien, esto parece feliz
esto se ve bien.

00:21:31.900 --> 00:21:33.760
Tengo algo similar que hace

00:21:33.760 --> 00:21:38.185
la acción de arrastre desde la parte inferior
para abrir la vista ahora simple.

00:21:38.185 --> 00:21:40.495
Una vez más, es una acción compartida
cualquiera que sea la página que seas

00:21:40.495 --> 00:21:42.790
en usted debe ser capaz de
hacer estas acciones de nuevo,

00:21:42.790 --> 00:21:44.770
Lo he puesto en mi página base.

00:21:44.770 --> 00:21:46.900
Empezarás a notar
cosas como estamos

00:21:46.900 --> 00:21:48.490
haciendo todo esto
principios que haría

00:21:48.490 --> 00:21:50.080
cuando estás escribiendo una aplicación no

00:21:50.080 --> 00:21:52.120
necesariamente cuando
estás escribiendo una prueba.

00:21:52.120 --> 00:21:54.910
El punto culminante de
todo esto es que,

00:21:54.910 --> 00:21:57.040
escribir pruebas es como escribir una aplicación.

00:21:57.040 --> 00:21:58.570
Quiero decir, si eres inteligente al respecto,

00:21:58.570 --> 00:22:00.175
y usted puede ir a las suites de prueba robustas,

00:22:00.175 --> 00:22:01.480
sólo hace que escribir

00:22:01.480 --> 00:22:04.310
las pruebas y el mantenimiento
ellos mucho más agradable.

00:22:04.380 --> 00:22:06.805
Genial, así que la configuración basada en el hábito,

00:22:06.805 --> 00:22:08.455
Tengo la configuración de mi página de inicio.

00:22:08.455 --> 00:22:10.390
Tenemos nuestra prueba en marcha,

00:22:10.390 --> 00:22:11.440
así que voy a comentar

00:22:11.440 --> 00:22:14.530
este viejo archivo de prueba porque
ya no necesitamos esto,

00:22:14.530 --> 00:22:18.085
y esta es nuestra configuración.

00:22:18.085 --> 00:22:23.230
Otro consejo genial, es todo
corriendo a través de Nunit.

00:22:23.230 --> 00:22:25.390
Sí, si soportas Nunit 3 ahora,

00:22:25.390 --> 00:22:30.170
por lo que puede utilizar Nunit 3 con la prueba de interfaz de usuario.

00:22:30.960 --> 00:22:34.600
Resalte y use cada potencia
que Nunit provee.

00:22:34.600 --> 00:22:38.690
Use casos de prueba, y usted
optimizar sus escritorios.

00:22:39.900 --> 00:22:43.075
Es como si tuvieras
todo este poder allí,

00:22:43.075 --> 00:22:44.560
no se olvide de que
a pesar de que esto ha

00:22:44.560 --> 00:22:46.300
La prueba de la interfaz de usuario de Xamarin se ejecuta en Nunits,

00:22:46.300 --> 00:22:48.610
usted tiene toda la funcionalidad Nunit
disponible para usted.

00:22:48.610 --> 00:22:50.965
Así que puedes afirmar, que
puede usar casos de prueba,

00:22:50.965 --> 00:22:52.615
se puede utilizar ignorar,

00:22:52.615 --> 00:22:56.410
también se puede utilizar
mi categoría de cosas favoritas.

00:22:56.410 --> 00:22:59.590
Mi cosa favorita para
hacer con la categoría es

00:22:59.590 --> 00:23:02.275
preparar pruebas con prueba de humo,

00:23:02.275 --> 00:23:04.825
pruebas nocturnas, pruebas de desarrollo.

00:23:04.825 --> 00:23:08.665
Si tiene su configuración de CI/CD
con las pruebas de interfaz de usuario en él,

00:23:08.665 --> 00:23:10.690
categorizar las pruebas,
así que no estás corriendo

00:23:10.690 --> 00:23:12.625
todo el conjunto de pruebas cada vez.

00:23:12.625 --> 00:23:16.465
Así que si es sólo un cheque Dev BR
sólo hacer que funcione en las pruebas de humo.

00:23:16.465 --> 00:23:18.490
Si es un día grande,

00:23:18.490 --> 00:23:19.840
hacer un subconjunto de

00:23:19.840 --> 00:23:22.825
toda su suite y llamar a eso
su categoría diaria de pruebas.

00:23:22.825 --> 00:23:24.640
Si es una oferta de Nike, es cuando

00:23:24.640 --> 00:23:26.830
recomienda hacer como
toda la prueba de punta a punta,

00:23:26.830 --> 00:23:28.150
sólo porque nadie
trabajando en y

00:23:28.150 --> 00:23:30.145
tienen las tres computadoras.

00:23:30.145 --> 00:23:36.410
Una vez más, utilice el apalancamiento de todo el fresco
cosas que Nunit tiene que proporcionar.

00:23:36.540 --> 00:23:42.145
Voy a reconstruir el,

00:23:42.145 --> 00:23:43.540
oops, tengo mi rapel abierto,

00:23:43.540 --> 00:23:44.725
¿No es así? Sí.

00:23:44.725 --> 00:23:47.380
Dejemos de salir de esto,

00:23:47.380 --> 00:23:50.905
rapel es bueno, se ve feliz.

00:23:50.905 --> 00:23:58.930
Establecemos el caso de prueba para
configuración y echa un vistazo a eso.

00:23:58.930 --> 00:24:03.010
Ahora lo configura en
el panel de prueba unitaria,

00:24:03.010 --> 00:24:05.260
así que voy a abrir
hasta la página de configuración,

00:24:05.260 --> 00:24:07.285
vamos a ver cómo se ve esto.

00:24:07.285 --> 00:24:10.795
Intento número dos con iOS,
vamos a ver cómo va esto.

00:24:10.795 --> 00:24:14.300
No, no le gusta
mi dispositivo iOS, ¿por qué?

00:24:16.920 --> 00:24:21.490
Oops, se puso esto, matar a la aplicación.

00:24:21.490 --> 00:24:25.300
Obtener esta aplicación de nuevo, limpio.

00:24:25.300 --> 00:24:35.155
Aquí vamos, vamos,

00:24:35.155 --> 00:24:37.520
no lo edite en mí.

00:24:37.800 --> 00:24:40.825
Haz felices a todos los dioses de la demostración.

00:24:40.825 --> 00:24:45.610
Mientras corre, déjame ver,

00:24:45.610 --> 00:24:48.670
Iba a decir algo que
sólo, oh sí, está corriendo ahora.

00:24:48.670 --> 00:24:54.710
Veamos cómo va esto.
Está abriendo la aplicación.

00:24:57.450 --> 00:25:01.990
No, no deslizó y
seleccione mi elemento de menú.

00:25:01.990 --> 00:25:04.550
Estoy tan triste ahora, vamos a
ver lo que está pasando.

00:25:04.650 --> 00:25:08.840
Sitio a la izquierda, tenemos el menú.

00:25:13.650 --> 00:25:16.000
Lo siguiente que esto hará
suceden, pero digamos

00:25:16.000 --> 00:25:18.085
que estaba haciendo en la prueba de depuración.

00:25:18.085 --> 00:25:20.260
No estoy seguro de por qué esto no funciona,

00:25:20.260 --> 00:25:22.210
lo que voy a hacer es ir
para entrar en rapel aquí,

00:25:22.210 --> 00:25:24.010
y voy a verificar
por qué mi prueba no está funcionando

00:25:24.010 --> 00:25:25.870
porque honestamente
pensó que esto iba a

00:25:25.870 --> 00:25:30.530
trabajar como lo necesito
trabajar como un artículo.

00:25:33.570 --> 00:25:36.985
Así es como la prueba completada,

00:25:36.985 --> 00:25:39.565
oh Dios mío, debería
recuerda matar eso.

00:25:39.565 --> 00:25:44.290
Viste cómo el aspecto completo

00:25:44.290 --> 00:25:46.090
de la prueba parece
y ¿cómo un montón de

00:25:46.090 --> 00:25:48.550
mi Go-Share y el uso compartido de métodos
que puedes hacer.

00:25:48.550 --> 00:25:53.080
¿Cómo ibas a empezar
escribir una nueva prueba,

00:25:53.080 --> 00:25:55.435
así que tal vez la conversión de pruebas
que ya tienes.

00:25:55.435 --> 00:25:57.130
El paso número uno sería literalmente

00:25:57.130 --> 00:25:58.885
lo que acabo de hacer,
agregando en la prueba de interfaz de usuario,

00:25:58.885 --> 00:26:01.405
se puede utilizar el paquete pop
o puede entrar en

00:26:01.405 --> 00:26:05.690
GitHub y copiar manualmente
esas páginas lo que quieras.

00:26:06.240 --> 00:26:10.180
La segunda cosa es
como dije que entras,

00:26:10.180 --> 00:26:11.500
editar el archivo del administrador de aplicaciones,

00:26:11.500 --> 00:26:14.260
eliminar todo el inicializador de la aplicación
archivo, usted hizo todo eso.

00:26:14.260 --> 00:26:17.050
Entras y luego

00:26:17.050 --> 00:26:19.795
el siguiente paso literalmente es
para empezar a crear las páginas.

00:26:19.795 --> 00:26:22.150
Tenía página de inicio ya creada
con el comercio allí,

00:26:22.150 --> 00:26:23.560
pero ese es literalmente el siguiente paso.

00:26:23.560 --> 00:26:25.120
La entrada inicial puede ser un

00:26:25.120 --> 00:26:26.920
poco caro porque
se necesita un poco de

00:26:26.920 --> 00:26:30.490
tiempo dependiendo de cuántas páginas
y lo avanzada que es tu aplicación.

00:26:30.490 --> 00:26:31.870
Pero la parte buena es,

00:26:31.870 --> 00:26:33.460
en realidad se puede dividir este trabajo

00:26:33.460 --> 00:26:35.200
porque es independiente
sobre quién está trabajando en ello.

00:26:35.200 --> 00:26:36.715
Porque todos los que están en esa página,

00:26:36.715 --> 00:26:38.110
para que pueda dividir el trabajo de

00:26:38.110 --> 00:26:39.640
escribir cada página
entre cinco personas,

00:26:39.640 --> 00:26:41.005
todo el mundo escribe una página,

00:26:41.005 --> 00:26:43.810
y eso es todo, tienes en
la configuración inicial realizada.

00:26:43.810 --> 00:26:47.800
Porque una vez que las páginas están en que es
todo lo que lleva más tiempo,

00:26:47.800 --> 00:26:50.365
entonces sólo estás cocinando
los métodos para escribir sus pruebas,

00:26:50.365 --> 00:26:52.645
super-simple, es
muy sencillo.

00:26:52.645 --> 00:27:00.500
Ahora, vamos a ver por qué mi golpe
de derecha a izquierda no estaba deslizando.

00:27:03.750 --> 00:27:07.840
Entonces, ¿mi código está al revés?

00:27:07.840 --> 00:27:11.170
Mi código tiene razón para
a la izquierda, bien vamos a ver.

00:27:11.170 --> 00:27:14.090
Tenía la rapel abierta, verifiquemos.

00:27:14.100 --> 00:27:18.730
Si va de derecha a izquierda
no está haciendo nada raro.

00:27:18.730 --> 00:27:20.740
Bien, vamos de izquierda a derecha.
Creo que tienen razón.

00:27:20.740 --> 00:27:27.400
Creo que se supone que
para deslizar de izquierda a derecha.

00:27:28.380 --> 00:27:31.615
Ahí tienes, buena atrapada. Gracias.

00:27:31.615 --> 00:27:35.470
La alegría de votar la misma y ninguna
de ustedes están dormidos, esto es bueno.

00:27:35.470 --> 00:27:37.090
Odio hacer sesiones
después del almuerzo porque

00:27:37.090 --> 00:27:39.860
Siempre estoy seguro de que
todos están medio dormidos.

00:27:41.010 --> 00:27:44.065
La otra cosa que hice
aquí estaba yo empecé a poner

00:27:44.065 --> 00:27:46.330
una muestra de cómo una función
se vería como,

00:27:46.330 --> 00:27:48.790
pero yo mismo complicó demasiado las cosas.

00:27:48.790 --> 00:27:50.500
Esto es literalmente sólo hacer

00:27:50.500 --> 00:27:53.570
una coincidencia de consulta de cadena
a lo que hay aquí.

00:27:53.790 --> 00:27:56.890
Otra cosa que me gusta
por lo general hacer es ya que como yo

00:27:56.890 --> 00:27:59.380
dijo que la configuración inicial
son sólo las páginas,

00:27:59.380 --> 00:28:01.900
y la forma más rápida
para encontrar elementos sobre

00:28:01.900 --> 00:28:05.190
una página que App.flash todo,

00:28:05.190 --> 00:28:07.695
es mi cosa favorita aquí.

00:28:07.695 --> 00:28:11.470
Ya que quería tocar
en ese botón Configuración,

00:28:12.050 --> 00:28:15.215
si sólo añado. Ajustes de flash,

00:28:15.215 --> 00:28:18.160
Me acabo de dar cuenta, es
tiene dos botones de configuración,

00:28:18.160 --> 00:28:21.920
Sólo necesito hacerlo, hazlo.

00:28:22.830 --> 00:28:25.705
Esa es mi configuración exacta
botón, eso es todo.

00:28:25.705 --> 00:28:28.375
Si sólo gastas un poco de
tiempo y seguir haciendo esto,

00:28:28.375 --> 00:28:30.775
hace que el establecimiento de
esta página es súper rápida.

00:28:30.775 --> 00:28:33.160
Además, la mayoría de los casos si
usted es el que es

00:28:33.160 --> 00:28:35.440
escrito la aplicación que usted sabe
qué identificación de automatización que

00:28:35.440 --> 00:28:37.465
adjunto en Xamarin Forms o

00:28:37.465 --> 00:28:40.540
qué nombre en accesibilidad
Identificación que proporcionó.

00:28:40.540 --> 00:28:42.700
Así que lo más probable es que
conocer la consulta ya.

00:28:42.700 --> 00:28:44.260
Debe ser súper súper rápido,

00:28:44.260 --> 00:28:47.245
y súper intuitivo
una vez que te metes en ella.

00:28:47.245 --> 00:28:50.814
Voy a agarrar esto,

00:28:50.814 --> 00:28:52.660
y voy a cambiar esto porque

00:28:52.660 --> 00:28:54.550
no necesita
ser tan complicado.

00:28:54.550 --> 00:29:01.255
Esto puede ser literalmente una cadena
y puede vivir aquí.

00:29:01.255 --> 00:29:03.830
Entonces voy a usar,

00:29:05.460 --> 00:29:07.690
No hice eso hoy,

00:29:07.690 --> 00:29:09.800
No, está justo aquí, de acuerdo.

00:29:17.450 --> 00:29:24.105
No, no lo hace,
Bueno, está bien, espera.

00:29:24.105 --> 00:29:26.830
Voy a hacer un
un poco de fudging aquí.

00:29:30.770 --> 00:29:35.320
Quiero presumir
cómo escribirlos.

00:29:37.520 --> 00:29:40.125
Bien. Esto se ve bien.

00:29:40.125 --> 00:29:47.140
Vamos a cambiarte, y
vamos a cambiarte.

00:29:49.580 --> 00:29:53.010
Necesito mi consulta de nuevo.

00:29:53.010 --> 00:29:57.040
Así que voy a volver a
Aquí. Así que esta fue la consulta.

00:30:00.800 --> 00:30:03.060
¿Qué necesito aquí?

00:30:03.060 --> 00:30:10.270
Así que voy a
hacer este ajuste.

00:30:16.040 --> 00:30:18.120
En realidad, ni siquiera

00:30:18.120 --> 00:30:20.400
necesitan que más, ahora
que pienso en ello.

00:30:20.400 --> 00:30:23.205
Puedo entrar y hacer esto,

00:30:23.205 --> 00:30:29.580
lanzar en mi comprobación Lambda
justo aquí.

00:30:29.580 --> 00:30:33.900
Así que hace de elemento esto,
"Toque" en el elemento esto.

00:30:33.900 --> 00:30:36.420
Bien. Así que esto por ahora,

00:30:36.420 --> 00:30:42.030
vamos a abrir el menú de ajustes,

00:30:42.030 --> 00:30:44.265
sólo porque no quiero
para perder el tiempo de todos,

00:30:44.265 --> 00:30:45.165
y nos estamos acercando.

00:30:45.165 --> 00:30:49.455
Así que vamos a preparar esto aquí.

00:30:49.455 --> 00:30:52.660
Muy bien, genial.

00:30:53.900 --> 00:30:56.290
¿Qué pasa?

00:31:02.450 --> 00:31:05.700
Así que lo llamé.

00:31:05.700 --> 00:31:09.510
"SelectMenuItem" pero no
darle un valor en este momento.

00:31:09.510 --> 00:31:12.490
Bien. Hagámoslo.

00:31:14.330 --> 00:31:17.100
¿Sigue funcionando?

00:31:17.100 --> 00:31:21.525
Bien. Así que siempre recuerda matar
la aplicación que me olvido de hacer.

00:31:21.525 --> 00:31:24.090
Así que vamos a poner esto en marcha.

00:31:24.090 --> 00:31:31.680
Creo que esta es la parte más lenta,

00:31:31.680 --> 00:31:33.165
esperando ese lanzamiento.

00:31:33.165 --> 00:31:36.225
Pero aparte de eso,
se pone súper rápido.

00:31:36.225 --> 00:31:38.430
Así que lo que vamos a hacer ahora
muy rápidamente es que voy a

00:31:38.430 --> 00:31:40.470
mostrar te cómo configurar una página porque

00:31:40.470 --> 00:31:44.520
eso es generalmente todo lo que
necesidad de entender en lo que es

00:31:44.520 --> 00:31:49.540
pasando, y simplemente entender.

00:31:51.860 --> 00:31:55.965
Déjame adivinar, mi índice
es cero no uno.

00:31:55.965 --> 00:31:58.200
Sí, mi índice no es cero.

00:31:58.200 --> 00:32:03.580
Bien. Vamos a separarnos.

00:32:04.160 --> 00:32:08.160
Aquí vamos. Lo que quiero
verificar que es una diapositiva uno, dos.

00:32:08.160 --> 00:32:11.280
Bien. Llegará a esta página.

00:32:11.280 --> 00:32:13.905
Pero lo que vamos a
en realidad escribir la prueba para,

00:32:13.905 --> 00:32:16.290
Quiero probar para eso
ahora jugando en la pantalla.

00:32:16.290 --> 00:32:22.150
Así que vamos a probar esto.

00:32:23.030 --> 00:32:26.140
Entremos aquí.

00:32:32.330 --> 00:32:38.710
OpenNowPlaying y cuando
abrir un Repl en esa página.

00:32:42.650 --> 00:32:46.515
Bien. Así que mientras eso se lanza,

00:32:46.515 --> 00:32:49.095
¿cómo empezarías con una nueva página?

00:32:49.095 --> 00:32:54.120
"Añadir nueva página". Así que vamos a
llámalo NowPlayingPage.

00:32:54.120 --> 00:32:57.270
Todo el mundo es bueno para aprender. éste
es lo que todos harían.

00:32:57.270 --> 00:33:00.749
El siguiente paso, vamos a
heredar de BasePage,

00:33:00.749 --> 00:33:02.010
pero entonces va a ser como, "No,

00:33:02.010 --> 00:33:03.435
necesita tener la consulta de la plataforma."

00:33:03.435 --> 00:33:06.490
Bien. Inicie la consulta de plataforma.

00:33:09.530 --> 00:33:13.560
Así que está en mi página
y está listo para salir.

00:33:13.560 --> 00:33:17.310
Así que podemos poner esto aquí,

00:33:17.310 --> 00:33:18.990
obtener la fuente para esto.

00:33:18.990 --> 00:33:21.750
Bien. Así que por lo general lo que hago es,

00:33:21.750 --> 00:33:25.980
Nunca recuerdo cómo la plataforma
rasgo y esas cosas se parece.

00:33:25.980 --> 00:33:30.645
Voy y abro en una muestra o
sólo tiene que entrar en la página ya hecha.

00:33:30.645 --> 00:33:34.515
Decido copiar esto sobre
porque me gusta hacer trampa.

00:33:34.515 --> 00:33:39.030
Así que bajo este comando
aquí poner esto aquí.

00:33:39.030 --> 00:33:40.980
Muy bien. Todo lo que tienes que hacer
hacer ahora es entrar y sólo

00:33:40.980 --> 00:33:43.395
cambiar los valores del rasgo
por plataforma.

00:33:43.395 --> 00:33:46.290
Así que vamos a ver lo que
podría ser para iOS.

00:33:46.290 --> 00:33:49.150
Así que vamos a ver lo que tenemos aquí.

00:33:49.700 --> 00:33:53.745
Tenemos un montón de pantallas.

00:33:53.745 --> 00:33:55.890
Pero tengo el ID de página que dice

00:33:55.890 --> 00:33:58.050
NowPlayingPage que es prometedor.

00:33:58.050 --> 00:33:59.310
Así que voy a agarrar esto.

00:33:59.310 --> 00:34:03.490
Así que para iOS, voy a
poner esto como un rasgo de página.

00:34:06.250 --> 00:34:10.120
Eso es dejar de fumar está aquí.

00:34:10.120 --> 00:34:13.020
Voy a levantar Android,

00:34:13.020 --> 00:34:18.510
y vamos a hacer lo mismo
cosa para Android.

00:34:18.510 --> 00:34:21.855
Así que la configuración de Android.

00:34:21.855 --> 00:34:25.120
Permítanme hacer esta prueba.

00:34:25.250 --> 00:34:27.890
Así que la configuración inicial.

00:34:27.890 --> 00:34:30.320
No sólo estoy haciendo literalmente
lo que voy a hacer si estaba haciendo

00:34:30.320 --> 00:34:32.960
esto por mi cuenta en mi escritorio.

00:34:32.960 --> 00:34:34.430
Así que el primer paso en el que entraba,

00:34:34.430 --> 00:34:35.690
lanzar esto un par de veces,

00:34:35.690 --> 00:34:38.045
hacer todos los rasgos de la página.

00:34:38.045 --> 00:34:40.900
Una vez que tenga los valores de rasgo de página,

00:34:40.900 --> 00:34:42.810
Necesito arreglar esto.
para Android claramente,

00:34:42.810 --> 00:34:43.935
no está deslizando hacia arriba a la derecha.

00:34:43.935 --> 00:34:48.405
Pero un árbol aquí,

00:34:48.405 --> 00:34:51.850
vamos a ver lo que está pasando
en Android. Veamos.

00:34:51.890 --> 00:34:55.830
Así que ahí está la etiqueta.
Porque vuelvo a subir.

00:34:55.830 --> 00:35:00.330
Bien. Así que está MiniPlayer,
ahí está CurrentSong, CurrentArtist.

00:35:00.330 --> 00:35:02.280
Veo una página de apertura de nuevo.

00:35:02.280 --> 00:35:05.910
Así que vamos a pedir prestado
lo mismo para ambos.

00:35:05.910 --> 00:35:09.180
Ahora que eso está configurado,
podemos empezar a poner en

00:35:09.180 --> 00:35:12.270
algunos valores para los elementos
en esa pantalla.

00:35:12.270 --> 00:35:17.235
Así que otra vez volver, vamos a agarrar
el alias de uso para esto.

00:35:17.235 --> 00:35:20.265
NowPlayingPage, vamos a
entrar aquí. Muy bien.

00:35:20.265 --> 00:35:23.370
Así que el NowPlayingPage tiene
un montón de botones que veo.

00:35:23.370 --> 00:35:26.460
Así que vamos a ver lo que está pasando aquí.

00:35:26.460 --> 00:35:28.710
Así que está el botón "Reproducir",

00:35:28.710 --> 00:35:30.180
ahí está el arriba y los pulgares hacia arriba,

00:35:30.180 --> 00:35:33.180
pulgares hacia abajo, hay
el "MiniPlayer".

00:35:33.180 --> 00:35:36.360
Lo que voy a intentar es,

00:35:36.360 --> 00:35:38.370
vamos a ver si se puede obtener
en el botón "Shuffle".

00:35:38.370 --> 00:35:40.650
Así que ese es este botón de aquí.

00:35:40.650 --> 00:35:42.630
Así que hay shuffle,
hay repetición de juego.

00:35:42.630 --> 00:35:45.210
Correcto. Ahora bien, si te das cuenta de esto
es otro tema que he visto.

00:35:45.210 --> 00:35:48.075
Así que es posible que no siempre haya
control sobre el código fuente,

00:35:48.075 --> 00:35:49.350
y no siempre puede
ser capaz de entrar

00:35:49.350 --> 00:35:50.640
allí y añadir iDs de automatización,

00:35:50.640 --> 00:35:53.055
o añadir nombres físicos para las cosas.

00:35:53.055 --> 00:35:54.900
Así que, por ejemplo, si miro aquí,

00:35:54.900 --> 00:35:58.125
todo lo que puedo ver es
las rejillas inferiores controlan.

00:35:58.125 --> 00:36:02.280
No tengo nombres específicos
para cualquiera de esos botones.

00:36:02.280 --> 00:36:04.440
Creo que es un control personalizado
esa mirada se utiliza.

00:36:04.440 --> 00:36:07.510
Así que no tengo valores para ello.

00:36:07.610 --> 00:36:11.895
La mejor manera de hacerlo es
sólo sigue perforando.

00:36:11.895 --> 00:36:13.604
Así que voy a,

00:36:13.604 --> 00:36:15.060
vamos a consultar desde aquí.

00:36:15.060 --> 00:36:18.210
Así que esto se llama
las rejillas inferiores controlan.

00:36:18.210 --> 00:36:22.395
Así que voy a ver lo que son
los niños dentro de ella primero.

00:36:22.395 --> 00:36:27.870
Supongo que veo uno, dos, tres, cuatro.

00:36:27.870 --> 00:36:29.400
No, hay mucho
de cosas allí.

00:36:29.400 --> 00:36:31.320
Bien. Vamos a flashear estos porque estoy

00:36:31.320 --> 00:36:34.150
no estoy seguro de lo que hay aquí,
hay tantas cosas.

00:36:37.950 --> 00:36:41.890
Bien. Uno, dos, tres, cuatro, de acuerdo.

00:36:41.890 --> 00:36:45.235
Así que a la cuadrícula inferior es
toda esta zona inferior,

00:36:45.235 --> 00:36:46.990
No necesito toda la zona inferior.

00:36:46.990 --> 00:36:50.140
Así que voy a usar el último niño,

00:36:50.140 --> 00:36:53.650
y vamos a ver lo que es
en el, ahí vamos.

00:36:53.650 --> 00:36:55.450
Nos estamos acercando, ¿verdad?

00:36:55.450 --> 00:37:00.780
Así que no siempre va a
ser un caso feliz donde se puede

00:37:00.780 --> 00:37:02.880
escribir esos iDs perfectos
y usted sabe mantener

00:37:02.880 --> 00:37:06.765
un conjunto único perfecto de identificadores
para el elemento en la pantalla.

00:37:06.765 --> 00:37:08.790
No me decidiría demasiado por eso.

00:37:08.790 --> 00:37:11.790
Tener cualquier cosa y
obtener sólo pruebas básicas

00:37:11.790 --> 00:37:13.470
ir es mucho más importante que

00:37:13.470 --> 00:37:15.545
tratando de encontrar identificaciones únicas
para cualquier elemento.

00:37:15.545 --> 00:37:17.740
Así que mientras la prueba no se rompa,

00:37:17.740 --> 00:37:20.530
es un poco frágil en este punto
Yo estaría de acuerdo, pero entonces eso es

00:37:20.530 --> 00:37:23.470
cuando se puede tomar este examen y
muéstralo al equipo y sé como,

00:37:23.470 --> 00:37:25.315
"Oye, esto es muy útil."

00:37:25.315 --> 00:37:27.115
Empecemos a añadir,

00:37:27.115 --> 00:37:28.390
el hecho de que estos van a ser

00:37:28.390 --> 00:37:29.770
probado y seamos más conscientes,

00:37:29.770 --> 00:37:31.660
añadir más nombres a
estas cosas en el futuro.

00:37:31.660 --> 00:37:33.280
Así que entremos.

00:37:33.280 --> 00:37:35.425
Creo que ese fue el segundo botón,

00:37:35.425 --> 00:37:38.020
va a verificar. Sí. Eso es todo.

00:37:38.020 --> 00:37:42.055
Así que el siguiente paso literalmente sería,

00:37:42.055 --> 00:37:44.080
Puedo entrar aquí.

00:37:44.080 --> 00:37:46.090
Aquí es donde la belleza
entra, ¿verdad?

00:37:46.090 --> 00:37:49.270
Así que esto es, así que vamos a llamarlo.

00:37:49.270 --> 00:37:58.040
Así que está el botón aleatorio
y hay, vamos.

00:37:59.460 --> 00:38:02.395
¿Qué había en el botón Repetir?

00:38:02.395 --> 00:38:04.150
Están al lado.
el uno al otro, ¿verdad?

00:38:04.150 --> 00:38:06.550
Así que vamos a optimizar la configuración de esto.

00:38:06.550 --> 00:38:09.430
Así que aquí es donde se inicializa

00:38:09.430 --> 00:38:13.435
las consultas para
cada control de la página.

00:38:13.435 --> 00:38:18.235
Así que aquí es donde la plataforma cruzada
parte del objeto de página se reproduce en.

00:38:18.235 --> 00:38:21.310
Si la consulta es el
lo mismo en ambas plataformas,

00:38:21.310 --> 00:38:23.395
este actual es un gran ejemplo.

00:38:23.395 --> 00:38:25.600
No creo que vaya a ser
lo mismo en cada uno sólo porque

00:38:25.600 --> 00:38:28.240
tuvo que pasar por como
la cama y el hijo de una cosa,

00:38:28.240 --> 00:38:32.230
y diseños de interfaz de usuario dentro de iOS y
Android puede ser un poco diferente.

00:38:32.230 --> 00:38:33.700
Así que este es un buen candidato que no.

00:38:33.700 --> 00:38:36.940
Esto probablemente no va
ser un valor compartido,

00:38:36.940 --> 00:38:39.730
pero algo así como
el comercio de ahora jugando.

00:38:39.730 --> 00:38:41.320
Ya que es lo mismo
en ambas plataformas,

00:38:41.320 --> 00:38:43.105
usted podría literalmente
entrar sólo ir como

00:38:43.105 --> 00:38:46.405
Botón aleatorio y luego sólo
dejar caer la consulta aquí,

00:38:46.405 --> 00:38:47.710
y eso sólo significa que oh usar

00:38:47.710 --> 00:38:50.005
el mismo valor de consulta
para qué plataformas.

00:38:50.005 --> 00:38:52.450
Pero si es diferente para cada uno,

00:38:52.450 --> 00:38:53.875
vamos a separarlo.

00:38:53.875 --> 00:38:56.875
Así que si en ambas plataformas,

00:38:56.875 --> 00:38:58.885
cómo va a hacer para tener

00:38:58.885 --> 00:39:00.460
ciertos ajustes diferentes en iOS y

00:39:00.460 --> 00:39:02.575
Android y empresas de concepto similar.

00:39:02.575 --> 00:39:05.065
Así que esto es lo que el
El botón aleatorio se ve como,

00:39:05.065 --> 00:39:08.725
y tenemos el botón de repetición

00:39:08.725 --> 00:39:12.955
y el índice de que
era sólo, sin embargo,

00:39:12.955 --> 00:39:14.410
Creo que intercambié el índice.

00:39:14.410 --> 00:39:17.935
Así que este es uno, esto es
dos, boom [inaudible].

00:39:17.935 --> 00:39:20.560
Eso es todo. Bien. tú
podría en este punto

00:39:20.560 --> 00:39:23.725
en realidad sólo continuar y
poner los métodos de página.

00:39:23.725 --> 00:39:26.650
Así que como para esta página
y ahora jugando,

00:39:26.650 --> 00:39:34.790
esto será prensa
diga Botón aleatorio.

00:39:36.720 --> 00:39:40.915
Voy a devolver esto,

00:39:40.915 --> 00:39:42.940
sólo porque esto es
una acción que no es

00:39:42.940 --> 00:39:44.695
navegar cerca de esta página.

00:39:44.695 --> 00:39:46.150
Me voy a quedar y puedo

00:39:46.150 --> 00:39:48.670
seguir haciendo
más cosas en esta página.

00:39:48.670 --> 00:39:51.370
Después de esto puedo ir y
clic que aparece el botón.

00:39:51.370 --> 00:39:53.050
Puedo hacer clic en el botón de compartir.

00:39:53.050 --> 00:39:55.255
Puedo hacer clic en el botón de puntos suspensivos.

00:39:55.255 --> 00:39:57.310
Así que esto es lo que yo era

00:39:57.310 --> 00:39:59.290
hablando de antes de las acciones
que permanecen en la página,

00:39:59.290 --> 00:40:00.865
hacer que devuelva el propio tipo de página.

00:40:00.865 --> 00:40:03.325
Porque cuando escribes una prueba,

00:40:03.325 --> 00:40:06.460
puede encadenarse.

00:40:06.460 --> 00:40:08.320
Así que otra cosa buena
Me gusta hacer es,

00:40:08.320 --> 00:40:10.210
Siempre me gusta esperar
para que un elemento

00:40:10.210 --> 00:40:12.775
aparecer antes de hacer cualquier acción en él.

00:40:12.775 --> 00:40:16.510
Es como asertivo
verdadero o asertivo visible,

00:40:16.510 --> 00:40:17.680
pero sólo trato de usar el peso para

00:40:17.680 --> 00:40:19.390
elemento sólo porque
tiene un

00:40:19.390 --> 00:40:22.870
mecanismo de reintento ya
horneado en él de la prueba de interfaz de usuario.

00:40:22.870 --> 00:40:25.720
Lo hace súper agradable.
Hace que mi prueba se sienta un

00:40:25.720 --> 00:40:28.915
poco más como me siento
mejor al respecto antes.

00:40:28.915 --> 00:40:30.760
Sólo para asegurarse de que el elemento
ha sido en realidad

00:40:30.760 --> 00:40:33.115
representado en la pantalla
antes de tocar en él.

00:40:33.115 --> 00:40:37.690
Así que vamos a ver lo que estaba en

00:40:37.690 --> 00:40:43.450
guardia Pulse Repetir porque

00:40:43.450 --> 00:40:45.760
Quiero mostrarte lo que
el encadenamiento de las pruebas se parece.

00:40:45.760 --> 00:40:48.085
Así que vamos a devolver esto.

00:40:48.085 --> 00:40:53.720
Una vez más, aplicación. Botón WaitFor Repeat,

00:40:54.120 --> 00:41:00.805
y aplicación. Toca Botón Repetir.

00:41:00.805 --> 00:41:04.825
Muy bien. Así que ahora hacer
¿Tengo esto listo?

00:41:04.825 --> 00:41:08.020
El siguiente paso literalmente
izquierda para hacer sería que me

00:41:08.020 --> 00:41:10.480
relanzar un Repl de nuevo
pero para iOS esta vez,

00:41:10.480 --> 00:41:12.670
y todo lo que haré
para iOS es ir y

00:41:12.670 --> 00:41:15.265
encontrar las consultas para
esos dos botones.

00:41:15.265 --> 00:41:17.260
Eso es, mi página está configurada.

00:41:17.260 --> 00:41:19.240
Eso es todo lo que tienes que hacer
Fol Así que esto es sólo

00:41:19.240 --> 00:41:20.860
todo el buy-in inicial que usted necesita.

00:41:20.860 --> 00:41:22.330
Este es todo el tiempo que pasarías

00:41:22.330 --> 00:41:23.815
la primera vez que los configuran,

00:41:23.815 --> 00:41:25.120
y después de que están
super-simple porque

00:41:25.120 --> 00:41:26.725
ahora lo que voy a ir a añadir una prueba.

00:41:26.725 --> 00:41:28.240
Vamos a añadir una nueva prueba.

00:41:28.240 --> 00:41:32.630
Así que vamos a llamarlo ahora prueba de parpadeo.

00:41:32.640 --> 00:41:37.180
Voy a entrar aquí,

00:41:37.180 --> 00:41:38.890
agregue en BaseTestFixture.

00:41:38.890 --> 00:41:43.130
Esto necesita plataforma.

00:41:44.430 --> 00:41:49.760
Ir a, añadir esto,

00:41:50.310 --> 00:41:54.640
plataforma, boom. Eso es todo.

00:41:54.640 --> 00:41:56.950
Estás listo. Para escribir una prueba,

00:41:56.950 --> 00:41:58.930
pongamos una etiqueta de prueba,

00:41:58.930 --> 00:42:00.940
no tiene N unidad aquí.

00:42:00.940 --> 00:42:02.890
Así que vamos a tirar de la unidad N, después de eso.

00:42:02.890 --> 00:42:07.105
Así que el vacío público. Vamos a llamarlo,

00:42:07.105 --> 00:42:12.760
XamDevSummitTest porque soy
genial con nombres. Muy bien.

00:42:12.760 --> 00:42:16.000
Así que viniendo a la nueva página de inicio,

00:42:16.000 --> 00:42:18.970
y luego quieres
ir a abrir ahora jugando.

00:42:18.970 --> 00:42:22.240
Boom, eso es todo. Es decir
mi primera acción. Lo siguiente.

00:42:22.240 --> 00:42:23.560
Ahora que he abierto Ahora jugando,

00:42:23.560 --> 00:42:24.730
Estoy en la página Reproduciendo ahora.

00:42:24.730 --> 00:42:28.690
Así que nuevo ahora jugando página. ¿Qué fue eso?

00:42:28.690 --> 00:42:32.890
Así que vamos a presionar Repetir y luego
Quiero seguir haciendo acciones,

00:42:32.890 --> 00:42:38.020
y luego voy a presionar
el botón aleatorio. Eso es todo.

00:42:38.020 --> 00:42:41.740
Así que su prueba de interfaz de usuario como una especie de
fluyendo y corriendo y corriendo en

00:42:41.740 --> 00:42:46.510
a través y mantenerlo

00:42:46.510 --> 00:42:48.520
ahora avanzando,
sólo piénsalo.

00:42:48.520 --> 00:42:50.050
Si vuelves después de un par de

00:42:50.050 --> 00:42:52.240
días o un par de meses
y lees esta prueba,

00:42:52.240 --> 00:42:53.320
estás como, "Oh bien,

00:42:53.320 --> 00:42:55.510
Sí, estoy probando el
funcionalidad para los estados.

00:42:55.510 --> 00:42:57.940
Nada es ambiguo. Nada
es raro, todo tiene sentido.

00:42:57.940 --> 00:43:02.800
Es legible." Sí. Así que es
un marco que usamos bastante.

00:43:02.800 --> 00:43:05.290
Es popular con
mi equipo y hemos tenido

00:43:05.290 --> 00:43:08.200
algunos buenos intercambios de comentarios
con otras personas.

00:43:08.200 --> 00:43:12.475
Así es como literalmente
implementarlo parece.

00:43:12.475 --> 00:43:14.935
¿Qué me quedó por mostrar?

00:43:14.935 --> 00:43:17.485
De acuerdo, sí. Así que quiero
rápidamente volver aquí.

00:43:17.485 --> 00:43:19.600
He cubierto mucho de ella en este momento
cuando hablaba de ello,

00:43:19.600 --> 00:43:23.815
pero sólo otros consejos útiles de prueba de la interfaz de usuario.

00:43:23.815 --> 00:43:25.570
Una vez más prueba en dispositivos reales como yo soy

00:43:25.570 --> 00:43:28.135
en este momento, es muy útil.

00:43:28.135 --> 00:43:30.370
Si pones puntos de interrupción en tus pruebas

00:43:30.370 --> 00:43:32.215
y te estás preguntando cómo
para llegar a esos puntos de quiebre.

00:43:32.215 --> 00:43:34.000
Así que si simplemente haces doble clic
y hacer una prueba,

00:43:34.000 --> 00:43:35.380
no los golpeará.

00:43:35.380 --> 00:43:37.330
Haga clic con el botón derecho y haga la depuración,

00:43:37.330 --> 00:43:39.760
y es entonces que va a empezar
alcanzando sus puntos de quiebre.

00:43:39.760 --> 00:43:41.590
Te mostré la declaración using.

00:43:41.590 --> 00:43:45.145
Te mostré los casos de prueba
y categorías.

00:43:45.145 --> 00:43:50.410
Esto es sólo otras prácticas recomendadas
que tratamos de compartir,

00:43:50.410 --> 00:43:52.390
manteniéndolo que cada desolado

00:43:52.390 --> 00:43:54.580
independiente dentro de su estatus
es una buena práctica.

00:43:54.580 --> 00:43:57.370
No ate las actividades de la cadena
porque supongamos que una prueba falla,

00:43:57.370 --> 00:43:58.780
usted no quiere como
todo lo demás para fracasar.

00:43:58.780 --> 00:44:01.540
Quieres un poco de utilidad
información que saldren.

00:44:01.540 --> 00:44:03.550
Sé determinista.

00:44:03.550 --> 00:44:06.580
Puedes poner puertas traseras
que se puede invocar en

00:44:06.580 --> 00:44:07.900
sus aplicaciones para cosas como

00:44:07.900 --> 00:44:10.180
autenticación o desea
para marcar un servicio de datos.

00:44:10.180 --> 00:44:13.190
Las puertas traseras son
una gran cosa para mirar.

00:44:13.200 --> 00:44:16.090
¿Qué más? Trate de no bucle.

00:44:16.090 --> 00:44:20.290
Utilice buenas aserciones, por lo que
los elementos de la clasificación son visibles,

00:44:20.290 --> 00:44:21.430
peso que los elementos son visibles,

00:44:21.430 --> 00:44:22.630
elemento de peso se ha ido.

00:44:22.630 --> 00:44:24.850
[inaudible] son ideales para animaciones.

00:44:24.850 --> 00:44:26.290
Así que si usted tiene
una animación de transición,

00:44:26.290 --> 00:44:27.850
guardando lejos y esperar a

00:44:27.850 --> 00:44:30.040
ningún elemento es una gran cosa para usar.

00:44:30.040 --> 00:44:32.320
Evite Thread.Sleeps.

00:44:32.320 --> 00:44:34.015
Eso es lo peor que pudiste.

00:44:34.015 --> 00:44:35.650
No ponga Thread.Sleeps.

00:44:35.650 --> 00:44:38.380
Una vez más, sólo tenga cuidado si bucle.

00:44:38.380 --> 00:44:40.495
Looping no es tu amigo.

00:44:40.495 --> 00:44:42.220
Así que fui un poco extras,

00:44:42.220 --> 00:44:45.620
pero puedo hacer rápidamente
preguntas, por lo que las preguntas.

00:44:46.230 --> 00:44:49.510
Sólo ve al micrófono para

00:44:49.510 --> 00:44:51.120
que todos los demás
en línea puede oír a usted también.

00:44:51.120 --> 00:44:52.690
>> Así que cuando mencionaste puertas traseras,

00:44:52.690 --> 00:44:54.955
que sólo entonces escribir
un método dentro de su código?

00:44:54.955 --> 00:44:57.700
>> Sí, exactamente. Así que
quiero conservarlos para iOS,

00:44:57.700 --> 00:44:58.945
ponerlos en delegado de la aplicación

00:44:58.945 --> 00:45:01.420
y en Android poner
su actividad principal,

00:45:01.420 --> 00:45:03.430
y luego se puede invocar
ese mismo nombre de cadena

00:45:03.430 --> 00:45:06.470
en su prueba y usted puede
haz lo que quieras.

00:45:06.540 --> 00:45:09.070
>> Así que para los informes,

00:45:09.070 --> 00:45:12.280
¿hay algún plan futuro para
haciendo un visualizador como él,

00:45:12.280 --> 00:45:14.575
como tenemos para el árbol XML?

00:45:14.575 --> 00:45:16.780
>> Hablemos de ello.
Ven a verme en

00:45:16.780 --> 00:45:18.670
la cabina y me encanta escuchar ideas.

00:45:18.670 --> 00:45:21.670
He escuchado esta retroalimentación
y me encanta saber

00:45:21.670 --> 00:45:22.780
más y podemos mirar en

00:45:22.780 --> 00:45:24.895
algo acerca de hacer
algo así, sí.

00:45:24.895 --> 00:45:27.220
>> Otro en su página base,

00:45:27.220 --> 00:45:29.665
usted devolvió esto.

00:45:29.665 --> 00:45:31.630
Siempre devuelva la página mal.

00:45:31.630 --> 00:45:34.420
¿No tenemos que esperarlo?

00:45:34.420 --> 00:45:37.630
Así que si usted está haciendo la carga de datos
y tu spinner está arriba antes,

00:45:37.630 --> 00:45:38.860
entramos en la página, ¿tenemos

00:45:38.860 --> 00:45:40.150
para hacer algo por eso especialmente?

00:45:40.150 --> 00:45:44.095
>> Sí. Así que puedes totalmente
tirarlo en esa página base.

00:45:44.095 --> 00:45:45.850
Esa era sólo una manera
de usar la página base.

00:45:45.850 --> 00:45:47.110
Sólo quiero resaltar el poder de

00:45:47.110 --> 00:45:48.730
tener métodos compartidos allí.

00:45:48.730 --> 00:45:51.310
En realidad sólo puedes escribir
una extensión o como un ayudante,

00:45:51.310 --> 00:45:52.540
y luego poner algo como,

00:45:52.540 --> 00:45:53.950
usted sabe que usted es
esperando una animación.

00:45:53.950 --> 00:45:55.990
Así que sé como, oye, espera
para que el spinner se vaya.

00:45:55.990 --> 00:45:57.415
Así que no esperes ningún elemento,

00:45:57.415 --> 00:46:00.820
y poner en el ID al spinner
o simplemente use la clase spinner,

00:46:00.820 --> 00:46:02.890
y luego sólo verificar
que el spinner tiene

00:46:02.890 --> 00:46:05.050
se ha ido y luego empezar
haciendo sus acciones. Sí.

00:46:05.050 --> 00:46:07.995
>> Sí. Una última pregunta tal vez
no está realmente en tu área,

00:46:07.995 --> 00:46:09.360
pero tomas capturas de pantalla.

00:46:09.360 --> 00:46:11.070
¿Hay algo que puedas hacer

00:46:11.070 --> 00:46:15.075
para las capturas de pantalla coincidentes
con pruebas anteriores como,

00:46:15.075 --> 00:46:16.650
porque si estás haciendo interfaz de usuario,

00:46:16.650 --> 00:46:18.120
quieres saber que
sus elementos son

00:46:18.120 --> 00:46:20.160
todavía en pantalla
en lugar de fuera de la pantalla,

00:46:20.160 --> 00:46:22.995
No sé si puedes
hacer eso en los informes.

00:46:22.995 --> 00:46:25.575
>> No, ahora no.

00:46:25.575 --> 00:46:29.440
Una vez más, he oído hablar de la gente
queriendo una herramienta que pudiera hacer eso.

00:46:29.440 --> 00:46:30.895
Creo que también es una gran idea.

00:46:30.895 --> 00:46:32.605
Lo único que se me ocurre es,

00:46:32.605 --> 00:46:34.975
si subes estas pruebas
a App Center,

00:46:34.975 --> 00:46:36.685
genera esos informes para usted.

00:46:36.685 --> 00:46:38.200
Será como una comprobación manual aunque

00:46:38.200 --> 00:46:39.910
no hay una forma automatizada de hacerlo.

00:46:39.910 --> 00:46:42.370
Tal vez usted puede utilizar los servicios cognitivos
y construir esa herramienta,

00:46:42.370 --> 00:46:43.895
y me encantaría ayudarte con eso.

00:46:43.895 --> 00:46:44.490
>> Muy bien. Gracias.

00:46:44.490 --> 00:46:44.990
>> Sí.

00:46:44.990 --> 00:46:48.790
>> Hola, me di cuenta de que en
una de sus pruebas que

00:46:48.790 --> 00:46:52.630
tenía un método de arrastre con
algunos Kubernetes codificados de forma rígida.

00:46:52.630 --> 00:46:52.900
>> Sí.

00:46:52.900 --> 00:46:54.100
>> ¿Eso te va a dar problemas

00:46:54.100 --> 00:46:55.180
en diferentes tamaños a [inaudible]?

00:46:55.180 --> 00:46:57.565
>> Es totalmente y
no es la forma recomendada de hacerlo.

00:46:57.565 --> 00:46:59.875
Fue sólo por esta demostración,
Sólo quería robar.

00:46:59.875 --> 00:47:01.090
Ni siquiera robé tan bien,

00:47:01.090 --> 00:47:05.350
pero la manera ideal de realmente
hacer eso es otra vez consulta

00:47:05.350 --> 00:47:07.390
a ese elemento y utilizar
x e y coordenadas

00:47:07.390 --> 00:47:09.880
porque ese es un mini jugador
y tengo la identificación para ello.

00:47:09.880 --> 00:47:11.770
Así que usted debe en
buena práctica de hacer eso,

00:47:11.770 --> 00:47:14.140
y eso es lo que seré
haciendo por el código real.

00:47:14.140 --> 00:47:15.790
Quiero involucrar esto en Clancy,

00:47:15.790 --> 00:47:17.785
limpiar esto, hacer que se vea mejor.

00:47:17.785 --> 00:47:20.560
Por favor, entre y echa un vistazo
en eso y me dan retroalimentación

00:47:20.560 --> 00:47:23.140
o simplemente entrar y contribuir
más código allí. Así que sí.

00:47:23.140 --> 00:47:24.310
>> Gracias.

00:47:24.310 --> 00:47:27.100
>> Así que y en realidad hay que
pensar en mis correctores son

00:47:27.100 --> 00:47:29.500
como un golpe para presentar
donde se puede poner en.

00:47:29.500 --> 00:47:31.015
Así que asegúrate de deslizar el dedo hacia él.

00:47:31.015 --> 00:47:32.170
>> Sí, puede deslizar el dedo hacia él.

00:47:32.170 --> 00:47:34.165
Puede deslizar la herramienta,

00:47:34.165 --> 00:47:36.370
toma en o se puede poner
en un elemento que desea

00:47:36.370 --> 00:47:39.010
objetivo a o como una x e y
coordinar a la que desea ir.

00:47:39.010 --> 00:47:43.255
Sí. De acuerdo, al igual que
dos preguntas más creo que sí.

00:47:43.255 --> 00:47:44.830
>> A menudo encontramos que
cuando estamos grabando

00:47:44.830 --> 00:47:47.485
Las pruebas de interfaz de usuario requieren tiempos de espera,

00:47:47.485 --> 00:47:48.820
que funcionan muy bien en

00:47:48.820 --> 00:47:50.950
máquinas locales y
nuestro servidor de construcción, pero

00:47:50.950 --> 00:47:56.185
se sentía continuamente ausente o
¿Hay alguna manera de evitar eso?

00:47:56.185 --> 00:47:58.105
>> Ven a verme a la cabina.

00:47:58.105 --> 00:48:00.325
Me encanta ver lo que exactamente
está pasando. Sí.

00:48:00.325 --> 00:48:05.800
>> Es Xamarin UI Tests como
Marco mantenido activamente-

00:48:05.800 --> 00:48:06.130
>> Sí.

00:48:06.130 --> 00:48:08.035
>> -porque he
oyó algo más.

00:48:08.035 --> 00:48:10.495
>> No, está siendo
activamente trabajado en.

00:48:10.495 --> 00:48:12.985
Se acaba de actualizar a la prueba de la interfaz de usuario

00:48:12.985 --> 00:48:16.570
3.0 porque ahora tenemos
Soporte NUnit 3.0.

00:48:16.570 --> 00:48:18.520
Así que sí, son activamente
trabajando en ello. Sí.

00:48:18.520 --> 00:48:19.015
>> Gracias.

00:48:19.015 --> 00:48:21.565
>> Está bien. Eso es todo preguntas
Puedo tomar ahora mismo.

00:48:21.565 --> 00:48:22.660
Estaré en la cabina,

00:48:22.660 --> 00:48:23.980
así que por favor venga y me encuentre y

00:48:23.980 --> 00:48:25.585
hacerme todas las otras preguntas
que tienes.

00:48:25.585 --> 00:48:28.240
Me encantaría ver cualquier código de prueba de IU
que necesitas ayuda,

00:48:28.240 --> 00:48:30.320
pero muchas gracias.

