WEBVTT

00:00:00.000 --> 00:00:02.790
>> Es gibt keinen Neustart
mein Timer, damit ich weiß, wo ich bin.

00:00:02.790 --> 00:00:06.030
Hallo an alle. Guten Tag.

00:00:06.030 --> 00:00:10.170
Wie ist das Mittagessen? Jeder genoss
diese riesengurken? Ich weiß, dass ich es getan habe.

00:00:10.170 --> 00:00:12.315
Ja, genial.

00:00:12.315 --> 00:00:17.565
Diese Sitzung ist also
über U(I) Testing,

00:00:17.565 --> 00:00:19.935
Testen Sie also U(I)?

00:00:19.935 --> 00:00:22.950
Bevor ich also beginne, ist dies
meine Lieblingsfrage in der Welt.

00:00:22.950 --> 00:00:24.705
Das ist einfach.

00:00:24.705 --> 00:00:29.175
Wie viele Menschen schreiben
Tests? Handzeichen.

00:00:29.175 --> 00:00:31.830
Jeder im Strom,
das sind nicht wenige Hände.

00:00:31.830 --> 00:00:34.305
Ich bin überrascht, ich bin sehr glücklich.

00:00:34.305 --> 00:00:38.290
Nun, wie viele von euch U(I) testen?

00:00:39.130 --> 00:00:41.705
Nicht schlecht, das ist genial.

00:00:41.705 --> 00:00:44.060
Nun, so ist diese Sitzung im Grunde,

00:00:44.060 --> 00:00:48.635
und so werde ich nicht tun
die Grundlagen der Funktionsweise von U(I)-Tests,

00:00:48.635 --> 00:00:51.350
es gibt eine Reihe guter Inhalte
da draußen schon dafür.

00:00:51.350 --> 00:00:54.185
Es ist super einfach, es ist
U(I)-Test zu untersuchen.

00:00:54.185 --> 00:00:56.735
Das Framework, das ich sein werde
über heute zu sprechen ist

00:00:56.735 --> 00:00:58.070
buchstäblich nur für

00:00:58.070 --> 00:01:00.740
U(I)-Test super machen
einfach und super toll.

00:01:00.740 --> 00:01:04.820
Worüber wir heute sprechen
ist Best Practices und wie

00:01:04.820 --> 00:01:08.000
etwas schreiben, das
wurde viel diskutiert

00:01:08.000 --> 00:01:11.195
in der Keynote heute,
plattformübergreifenden U(I)-Test.

00:01:11.195 --> 00:01:14.435
Wer bin ich also?

00:01:14.435 --> 00:01:16.220
Ich bin mir ziemlich sicher, dass mich niemand kennt.

00:01:16.220 --> 00:01:19.715
Ich bin nicht so berühmt wie
viel, aber ich bin Sweeky.

00:01:19.715 --> 00:01:24.250
Ich arbeite in dem, was wir die
DevOps Kundenberatungsteam,

00:01:24.250 --> 00:01:25.950
und ich befinde mich in der Teilmenge, die

00:01:25.950 --> 00:01:28.570
das Mobile Customer Advisory Team.

00:01:28.730 --> 00:01:31.260
Wir sind wirklich cool haufen leute,

00:01:31.260 --> 00:01:32.905
wir lieben Xamarin, wir lieben Mobile,

00:01:32.905 --> 00:01:35.000
und wir arbeiten daran, Kunden

00:01:35.000 --> 00:01:37.310
glücklich und wir arbeiten daran,
unsere Produkte besser.

00:01:37.310 --> 00:01:39.710
Also treiben wir viel Feedback,

00:01:39.710 --> 00:01:42.025
so alles, was Sie sagen wollen,

00:01:42.025 --> 00:01:44.270
Mobil, das Sie besprechen möchten,

00:01:44.270 --> 00:01:47.015
Sneakers, was auch immer,
kommen Sie einfach zu mir.

00:01:47.015 --> 00:01:50.240
Ich arbeite im Büro in San Francisco.

00:01:50.240 --> 00:01:53.575
Ich bin dafür bekannt, für Süßigkeiten zu programmieren,

00:01:53.575 --> 00:01:56.055
so, wenn Sie jemals wollen, mich
u(I)-Tests zu schreiben,

00:01:56.055 --> 00:01:58.170
du weißt, wie man mich bestochen, und ich bin

00:01:58.170 --> 00:02:01.660
ein eingefleischtes Microsoft und
ein eingefleischter Xamarin-Lüfter.

00:02:03.380 --> 00:02:05.670
Nun, da du weißt, wer ich bin,

00:02:05.670 --> 00:02:08.070
Folge mir auf Twitter, sei mein Freund.

00:02:08.070 --> 00:02:10.110
Lassen Sie uns auf das Testen zu setzen.

00:02:10.110 --> 00:02:13.035
Also Xamarin U(I) Test.

00:02:13.035 --> 00:02:15.045
Für diejenigen, die nicht vertraut sind,

00:02:15.045 --> 00:02:21.030
Es ist NUnit-basierte Einheit
Testrahmen,

00:02:21.030 --> 00:02:24.435
aber in C Sharp, und es ermöglicht
U(I)-Test zu schreiben.

00:02:24.435 --> 00:02:27.434
Es ist darauf ausgerichtet, verwendet zu werden
mit mobilen Plattformen,

00:02:27.434 --> 00:02:30.505
so dass Ihre Apps nicht immer
xamarin app sein müssen,

00:02:30.505 --> 00:02:32.690
damit sie eine ReactNative App sein können,
sie können ein Ureinwohner sein,

00:02:32.690 --> 00:02:33.980
Android oder iOS App,

00:02:33.980 --> 00:02:36.425
Sie können immer noch schreiben
U(I)-Test für sie.

00:02:36.425 --> 00:02:39.420
Wenn Sie vertraut sind
mit NUnit funktioniert,

00:02:39.420 --> 00:02:42.065
ihre Syntax oder der Test
sehen Sie ziemlich vertraut aus.

00:02:42.065 --> 00:02:43.280
Es gibt also ein Testfixture-Tag,

00:02:43.280 --> 00:02:46.220
es gibt ein Test-Tag,
einige Setups vor einem Test ausführen,

00:02:46.220 --> 00:02:48.380
Sie den Test ausführen und dann

00:02:48.380 --> 00:02:51.140
kann etwas haben, das
nach dem Test erfolgt.

00:02:51.140 --> 00:02:54.515
Bitte unkompliziert,
Xamarin U(I)-Test,

00:02:54.515 --> 00:02:57.620
Sie können diese Tests ausführen
lokal, und dann, wenn Sie wollen,

00:02:57.620 --> 00:02:59.480
Sie können die App verwenden
Center-Testserver und

00:02:59.480 --> 00:03:02.155
führen Sie dann die Tests aus
in unseren Gerätelaboren.

00:03:02.155 --> 00:03:06.020
Es integriert sich auch wirklich gut
mit Ihren CICD-Pipelines,

00:03:06.020 --> 00:03:08.825
was mein Lieblingsteil ist
des gesamten Prozesses.

00:03:08.825 --> 00:03:12.000
So ist die Beschreibung der
das Gespräch sagte viel

00:03:12.000 --> 00:03:15.140
über pop des Seitenobjektmusters.

00:03:15.140 --> 00:03:17.510
Was ist das genau?

00:03:17.510 --> 00:03:20.765
Lassen Sie uns also so darüber sprechen.

00:03:20.765 --> 00:03:25.550
Mobile Apps werden in der Regel mit
eine Reihe unterschiedlicher Ansichten,

00:03:25.550 --> 00:03:27.740
wenn wir tatsächlich Xamarin-Apps schreiben,

00:03:27.740 --> 00:03:30.470
wir haben eine Reihe von
Ansichten, wenn es MVVM ist,

00:03:30.470 --> 00:03:32.060
Sie haben Ihre Ansichten
und Sie haben den Code

00:03:32.060 --> 00:03:33.830
hinter für jede Ansicht, diese und das,

00:03:33.830 --> 00:03:35.850
so einfaches Konzept, denken

00:03:35.850 --> 00:03:38.400
Ihrer App ist ein Haufen
von verschiedenen Seiten,

00:03:38.400 --> 00:03:40.560
Wenn Sie also schreiben möchten

00:03:40.560 --> 00:03:42.930
U(I)-Tests mit
das Seitenobjektmuster,

00:03:42.930 --> 00:03:44.450
wir werden jede Seite behandeln

00:03:44.450 --> 00:03:47.540
individuell als
seine eigene unabhängige Klasse.

00:03:47.540 --> 00:03:51.035
Elemente auf dieser Seite
leben in dieser Klasse,

00:03:51.035 --> 00:03:52.730
Interaktionen, mit denen Sie

00:03:52.730 --> 00:03:55.145
diese Elemente leben
innerhalb derselben Klasse.

00:03:55.145 --> 00:03:57.790
Wenn Sie also eine Schaltfläche auf Seite a haben,

00:03:57.790 --> 00:04:01.880
der gesamte Code in der Seite
a-Klasse wäre eine Abfrage

00:04:01.880 --> 00:04:03.320
wie das System

00:04:03.320 --> 00:04:06.410
diese Schaltfläche und welche Methode auch immer
, um mit einer Schaltfläche zu interagieren.

00:04:06.410 --> 00:04:10.250
Also auf einen Button klicken
oder wenn es sich um eine Liste handelt,

00:04:10.250 --> 00:04:11.485
so wischen Sie auf einer Liste,

00:04:11.485 --> 00:04:13.790
alle diese Methoden für
dass eine Seite dort lebt.

00:04:13.790 --> 00:04:15.125
Seite b für Ihre App,

00:04:15.125 --> 00:04:18.215
separate Klasse, insgesamt
hat seine eigenen Dinge.

00:04:18.215 --> 00:04:23.030
Die Hauptidee hinter dem Tun
dies ist die Tatsache, dass,

00:04:23.030 --> 00:04:25.285
da Sie trennen
aus all diesen Seiten,

00:04:25.285 --> 00:04:27.275
es ist wirklich einfach zu warten.

00:04:27.275 --> 00:04:29.840
Angenommen, Sie gehen hinein
und Sie nehmen eine Änderung vor

00:04:29.840 --> 00:04:32.710
einfach nur um vielleicht die
Einstellungsseite in Ihrer App,

00:04:32.710 --> 00:04:34.310
alles, was Sie tun müssen, ist zu gehen

00:04:34.310 --> 00:04:36.035
zur Einstellungsseite
Ihres Tests und

00:04:36.035 --> 00:04:37.475
die Werte dort aktualisieren und das ist

00:04:37.475 --> 00:04:39.605
Ihr Test wird wieder ausgeführt.

00:04:39.605 --> 00:04:41.460
So ist es super einfach zu warten,

00:04:41.460 --> 00:04:43.620
super einfach zu skalieren,

00:04:43.620 --> 00:04:45.990
und dann kommt mein bester Lieblingsteil

00:04:45.990 --> 00:04:48.490
dieses Musters ist es
markenübergreifend.

00:04:48.490 --> 00:04:51.775
So kann dieselbe Seite
auf iOS oder Android vorhanden sind.

00:04:51.775 --> 00:04:56.005
Was könnte dann die mögliche
hier kein Differenzierungsfaktor?

00:04:56.005 --> 00:04:58.790
Unter Android könnte die Schaltfläche

00:04:58.790 --> 00:05:01.260
eine separate Abfrage und dann auch

00:05:01.260 --> 00:05:02.460
vielleicht gibt es ein wenig von einem

00:05:02.460 --> 00:05:04.110
kein Berührungsverhalten, das anders ist,

00:05:04.110 --> 00:05:07.535
damit Sie dies in Ihrem Code behandeln können
mit den Geräteprüfungen.

00:05:07.535 --> 00:05:09.260
Also wieder, super einfach,

00:05:09.260 --> 00:05:10.520
super einfach einzurichten,

00:05:10.520 --> 00:05:12.965
und wir werden jetzt mehr darüber sehen.

00:05:12.965 --> 00:05:15.230
Also, was ich sprach

00:05:15.230 --> 00:05:17.760
über visuell nur
das Ganze imaginieren.

00:05:17.760 --> 00:05:20.485
Diese sind also unterschiedlich
Seiten Ihrer App,

00:05:20.485 --> 00:05:23.855
nehmen Sie jede Seite und drehen Sie
jede Seite in eine Klasse,

00:05:23.855 --> 00:05:26.420
das ist buchstäblich, wie die ersten Schritte

00:05:26.420 --> 00:05:29.075
der Seite zu schreiben
Objektmuster beginnt.

00:05:29.075 --> 00:05:33.840
Wenn Sie also ein
wenig mehr Phantasie darüber,

00:05:33.840 --> 00:05:35.855
wenn Sie mit der Einrichtung fertig sind

00:05:35.855 --> 00:05:37.130
das gesamte Architekturmuster und

00:05:37.130 --> 00:05:38.440
wenn Sie zurückgehen und
Sie sich Ihre Tests ansehen,

00:05:38.440 --> 00:05:39.650
es wird nie geben

00:05:39.650 --> 00:05:41.660
ein Punkt, den Sie fühlen,
"Oh, was habe ich geschrieben?

00:05:41.660 --> 00:05:43.280
Was bedeutet das?"
Es wird

00:05:43.280 --> 00:05:46.720
eine direkte Korrelation zwischen
Ihre App und Ihre Tests.

00:05:46.720 --> 00:05:51.120
So macht es einfach so viel
schöner, um Ihre Tests zu schreiben,

00:05:51.120 --> 00:05:54.710
Ich habe das Gefühl, es fördert nur
jeder zu reservieren,

00:05:54.710 --> 00:05:56.555
halten und schreiben sie guten U(I)-Test,

00:05:56.555 --> 00:05:59.065
was ich für sehr wichtig halte.

00:05:59.065 --> 00:06:01.020
Wenn ich kann, werde ich es sagen,

00:06:01.020 --> 00:06:02.395
Ich sage das die ganze Zeit,

00:06:02.395 --> 00:06:05.900
aber wir leben im Zeiten der
mobile Apps und wir leben in der Ära

00:06:05.900 --> 00:06:07.130
Kunden und

00:06:07.130 --> 00:06:09.530
Ihre Benutzer wirklich glücklich
mit Ihren mobilen Apps.

00:06:09.530 --> 00:06:11.360
Wenn Sie sie nicht u(I) testen würden,

00:06:11.360 --> 00:06:12.890
es gibt eine minimale Teilmenge von

00:06:12.890 --> 00:06:15.890
10 Prozent, die nicht bekommen
der beste visuelle Look von

00:06:15.890 --> 00:06:17.600
Ihre App nur, weil
Sie haben es nie getestet

00:06:17.600 --> 00:06:20.900
dass ein veraltetes Telefon
die jemand verwendet.

00:06:20.900 --> 00:06:22.985
So können Sie
Hebelung von U(I)-Tests

00:06:22.985 --> 00:06:24.680
und Apps Center und
Stellen Sie sicher, dass Ihre App

00:06:24.680 --> 00:06:26.390
sieht schön aus und läuft wirklich gut

00:06:26.390 --> 00:06:28.930
auf allen verschiedenen Plattformen
die zu unterstützen versuchen.

00:06:28.930 --> 00:06:34.940
Also das nächste tolle Ding über
das Seitenobjektmuster ist,

00:06:34.940 --> 00:06:38.615
wenn Sie u(I)-Test geschrieben haben
bevor oder wenn Sie es nicht getan haben,

00:06:38.615 --> 00:06:41.645
dies ist im Grunde das, was ein
einfacher U(I)-Test sieht aus wie.

00:06:41.645 --> 00:06:43.100
Sie haben also, wie ich schon sagte,

00:06:43.100 --> 00:06:44.630
es ist sehr ähnlich zu
das NUnit-Muster,

00:06:44.630 --> 00:06:47.415
die Sie einrichten müssen, und
Sie den eigentlichen Test haben,

00:06:47.415 --> 00:06:48.745
und im Test, wenn Sie schauen,

00:06:48.745 --> 00:06:51.725
es hat eine wirklich lange Linie, die sagt:

00:06:51.725 --> 00:06:54.260
app. Tippen Sie, und dann versucht es,

00:06:54.260 --> 00:06:57.685
finden Sie ein Element auf
den Bildschirm anhand seiner ID.

00:06:57.685 --> 00:07:01.190
Die Schönheit der Verwendung
das Seitenobjektmuster ist,

00:07:01.190 --> 00:07:03.680
es macht es ein wenig mehr
generisch in dem Sinne, dass,

00:07:03.680 --> 00:07:05.705
Erinnern Sie sich an diese Seiten
Ich sprach über,

00:07:05.705 --> 00:07:09.370
es wird buchstäblich
auf der Login-Seite,

00:07:09.890 --> 00:07:12.450
die Login-Aktion ausführen,

00:07:12.450 --> 00:07:14.480
und verwenden Sie dann diesen Benutzernamen
und Passwort.

00:07:14.480 --> 00:07:17.210
So macht es einfacher, auch zu lesen.

00:07:17.210 --> 00:07:19.520
Also wieder, wenn jemand, der
nicht durchgeführte Tests vor,

00:07:19.520 --> 00:07:21.080
ist nicht wirklich, "Oh,

00:07:21.080 --> 00:07:23.470
mein Gott, wie werde ich
einen C Sharp-Test schreiben?"

00:07:23.470 --> 00:07:25.275
Sie können einfach kommen
in und sei wie: "Oh,

00:07:25.275 --> 00:07:26.610
das liest sich nur wie Englisch,

00:07:26.610 --> 00:07:27.915
das ist nicht so schwer zu verstehen,

00:07:27.915 --> 00:07:29.940
Ich weiß, was in diesem Test vor sich geht."

00:07:29.940 --> 00:07:34.470
So kann ich weitermachen
an und auf wie diese,

00:07:34.470 --> 00:07:36.325
aber das macht keinen Spaß.

00:07:36.325 --> 00:07:39.305
Was ich jetzt tatsächlich tun werde, ist,

00:07:39.305 --> 00:07:41.420
Ich werde umschalten und tatsächlich

00:07:41.420 --> 00:07:43.820
Schreiben eines Seitenobjektschaltflächentests
für Sie jetzt,

00:07:43.820 --> 00:07:47.100
denn wer nicht
wie einige Live-Codierung?

00:07:47.930 --> 00:07:52.590
Also, während ich dieses Ding einrichten.

00:07:52.590 --> 00:07:55.760
So ist dies zu einem
Neben-Hobby von mir.

00:07:55.760 --> 00:07:59.815
Dies ist also eine App, die
mein guter Freund James Clancy,

00:07:59.815 --> 00:08:03.660
wenn Sie sich an ihn von
Xamarin entwickeln 2016,

00:08:03.660 --> 00:08:06.170
er gab meine Lieblingsrede
auf Async warten,

00:08:06.170 --> 00:08:08.210
definitiv ausgetobt
Videos auf YouTube.

00:08:08.210 --> 00:08:11.490
Aber so wurde er
Arbeiten an seiner Gmusic,

00:08:11.490 --> 00:08:14.870
einige Google Music Darlehen und er ist
sein Google umgeschrieben hat,

00:08:14.870 --> 00:08:16.730
so war es ursprünglich nur für iOS,

00:08:16.730 --> 00:08:18.430
er hat es für Firmen umgeschrieben,

00:08:18.430 --> 00:08:20.640
und er ist ein Open Source
Projekt lehrt er es

00:08:20.640 --> 00:08:23.700
jeden Mittwoch, Sie
sollte ihn nur überprüfen.

00:08:23.700 --> 00:08:26.150
Ich bemerkte, dass er geschrieben hat

00:08:26.150 --> 00:08:27.840
all diese Raster Xamarin Forms Punkten,

00:08:27.840 --> 00:08:29.985
aber raten Sie, was, er hat nicht getan,

00:08:29.985 --> 00:08:32.120
UI-Tests, alles davon.

00:08:32.120 --> 00:08:36.995
So wie mein Beitrag zur
die Open-Source-Community,

00:08:36.995 --> 00:08:39.410
wir schreiben jetzt UI
Tests für Clancy,

00:08:39.410 --> 00:08:42.990
und Clancy, wenn du
Beobachten, sind Sie willkommen.

00:08:43.490 --> 00:08:48.370
Also, bevor ich beginne,

00:08:48.860 --> 00:08:51.495
also wieder, das sind Tipps und Tricks,

00:08:51.495 --> 00:08:53.030
also werde ich geben
Tipps und Tricks.

00:08:53.030 --> 00:08:56.630
Tipp Nummer 1, ich würde immer
empfehlen, tests auf realen Geräten durchzuführen.

00:08:56.630 --> 00:08:58.340
So können Sie richtig sehen
jetzt, aber auf diesem Tisch,

00:08:58.340 --> 00:09:01.290
Ich habe tatsächlich ein Symbol auf
ein angeschlossenes iOS-Gerät,

00:09:01.290 --> 00:09:03.305
und ich bin Bildschirmspiegelung
es für Sie jetzt.

00:09:03.305 --> 00:09:05.850
Das ist es also, was die App
sieht aus wie im Moment,

00:09:05.850 --> 00:09:07.380
also, wenn Sie einsteigen,

00:09:07.380 --> 00:09:08.850
Sie sehen eine Liste von Songs,

00:09:08.850 --> 00:09:10.905
Sie können nach oben gleiten,

00:09:10.905 --> 00:09:15.450
und Sie können sehen, dass schön
wenig jetzt Bildschirm spielen.

00:09:15.450 --> 00:09:17.295
Das ist so weit er hat,

00:09:17.295 --> 00:09:18.990
und wenn Sie zur Seite wischen,

00:09:18.990 --> 00:09:21.195
Schauen Sie sich diese schöne
Gradienten, die er hat,

00:09:21.195 --> 00:09:24.015
und Sie können auf die
seitliches Navigationsmenü.

00:09:24.015 --> 00:09:26.285
Okay. Das ist also so weit, wie er hat,

00:09:26.285 --> 00:09:29.325
also lassen Sie uns einige U(I)
Tests, die dafür geschrieben wurden.

00:09:29.325 --> 00:09:33.745
Da Sie also einfach
sehen Sie hier mein iOS-Gerät,

00:09:33.745 --> 00:09:35.665
jetzt beginne ich mit iOS.

00:09:35.665 --> 00:09:38.960
Dies ist ein U(I)-Testprojekt, das
Sie sehen auf der linken Seite hier,

00:09:38.960 --> 00:09:42.850
dies ist buchstäblich, was Sie
erhalten, wenn ich rechts klicken,

00:09:42.850 --> 00:09:49.120
"Hinzufügen", "Neues Projekt", und ich wähle
wenn mein Ding auftaucht, gehen wir hin.

00:09:49.120 --> 00:09:50.955
Wenn ich also ein U(I)-Testprojekt wähle,

00:09:50.955 --> 00:09:54.260
Dies ist die leere Vorlage
Code, den Sie erhalten.

00:09:54.260 --> 00:09:55.910
ich habe überhaupt nichts getan,

00:09:55.910 --> 00:09:58.505
das ist, wie du es bekommst.

00:09:58.505 --> 00:10:00.135
Alles, was ich getan habe, ist,

00:10:00.135 --> 00:10:01.605
im App-Initialisierungsmittel,

00:10:01.605 --> 00:10:05.190
Ich habe gerade ein Teil eingesteckt
wohin die APK für

00:10:05.190 --> 00:10:07.160
Das Android-Gerät ist so aufgebaut,

00:10:07.160 --> 00:10:09.730
und ich habe syntheseauf meinem Gerät,

00:10:09.730 --> 00:10:12.275
Ich habe die Bundle-ID eingesteckt
für die iOS-App.

00:10:12.275 --> 00:10:15.680
Das ist alles, was Sie brauchen
zu tun, um loszulegen.

00:10:15.680 --> 00:10:19.330
Um sicherzustellen, dass ich
nichts gebrochen,

00:10:19.330 --> 00:10:24.340
Lassen Sie uns die App laufen lassen
denn das ist Schritt Nummer 1.

00:10:24.340 --> 00:10:26.795
Also lassen Sie uns iOS bekommen,

00:10:26.795 --> 00:10:29.510
Lassen Sie uns diesen Test laufen lassen,
also das Seitenobjektmuster.

00:10:29.510 --> 00:10:30.955
Die Art und Weise, wie das Muster funktioniert,

00:10:30.955 --> 00:10:34.070
Es basiert auf vier Hauptseiten.

00:10:34.070 --> 00:10:35.820
Wenn Sie zu

00:10:35.820 --> 00:10:40.580
unser GitHub-Repository
wo wir diese Einrichtung haben,

00:10:40.580 --> 00:10:42.140
es ist eine Probe drin,

00:10:42.140 --> 00:10:43.610
wir haben ein Wiki, das

00:10:43.610 --> 00:10:46.190
geht wieder durch alles
die ich gerade bespreche.

00:10:46.190 --> 00:10:47.385
Also, wenn Sie vergessen,

00:10:47.385 --> 00:10:49.055
gehen Sie einfach hinein und lesen Sie.

00:10:49.055 --> 00:10:51.165
Aber buchstäblich, alle U(I),

00:10:51.165 --> 00:10:53.179
alle Seite des Musters
kann gekapselt werden

00:10:53.179 --> 00:10:55.790
in diese vier Seiten, die
Ich habe dort erwähnt.

00:10:55.790 --> 00:10:58.465
Dieser Manager, ein Basisprüfgerät,

00:10:58.465 --> 00:11:01.640
eine Basisseite und eine Plattformabfrage.

00:11:05.330 --> 00:11:07.710
Oops, was habe ich getan?

00:11:07.710 --> 00:11:10.060
Habe ich einen Testfehler?

00:11:15.200 --> 00:11:17.385
Okay, ich werde
so out für Android,

00:11:17.385 --> 00:11:21.380
nur für ein bisschen, und bekommen Sie diese laufen.

00:11:21.380 --> 00:11:24.960
Meine Geräte trennen einfach.

00:11:31.590 --> 00:11:37.630
Wir haben es bekommen. Wer wird
schließen Sie diese wieder an. Alles klar.

00:11:37.630 --> 00:11:41.605
So haben wir unsere Repl auf der Seite,

00:11:41.605 --> 00:11:43.870
die wir verwenden werden, um nach
die Elemente auf dem Bildschirm,

00:11:43.870 --> 00:11:45.745
wir haben meine App auf der Vorderseite.

00:11:45.745 --> 00:11:49.150
Aber bevor ich etwas davon tue,
zurück zum Seitenobjektmuster.

00:11:49.150 --> 00:11:51.310
Also diese vier Basisseiten.

00:11:51.310 --> 00:11:53.830
Tag für Tag komme ich einfach herein und

00:11:53.830 --> 00:11:56.170
buchstäblich einfach "Datei neu" gehen
und kopieren Sie auf diesen Seiten.

00:11:56.170 --> 00:11:59.470
Aber wenn Sie
super bequem für Sie,

00:11:59.470 --> 00:12:04.075
wir haben ein NuGet-Paket
die Sie importieren können,

00:12:04.075 --> 00:12:05.800
und alles, was tut, ist nur auto

00:12:05.800 --> 00:12:07.840
injiziert diese vier Seiten
die ich erwähnt habe,

00:12:07.840 --> 00:12:11.845
BaseTest, BasePage,
PlatformQuery und AppManager.

00:12:11.845 --> 00:12:14.350
Es fügt nur hinzu, dass in
automatisch für Sie.

00:12:14.350 --> 00:12:15.730
Also werde ich das tun.

00:12:15.730 --> 00:12:17.530
Wenn Sie bemerken, ein, zwei,

00:12:17.530 --> 00:12:20.260
drei, vier; vier Seiten werden hinzugefügt.

00:12:20.260 --> 00:12:22.030
Mal sehen, wie jeder von ihnen aussieht

00:12:22.030 --> 00:12:24.040
ein kleines, was wir haben
dort einzurichten.

00:12:24.040 --> 00:12:30.925
AppManager wird also zu
den neuen AppInitializer.

00:12:30.925 --> 00:12:33.970
Alle AppManager buchstäblich
tun ist es nur erzählen

00:12:33.970 --> 00:12:35.560
Rahmen ist dies, wo

00:12:35.560 --> 00:12:38.305
die Android-App ist und dies
ist, wo sich die iOS-App befindet.

00:12:38.305 --> 00:12:40.840
Da ich es schon gesetzt hatte
oben in diesem Code hier,

00:12:40.840 --> 00:12:44.680
Ich werde nur das Teil kopieren
da ich diese nicht eingeben möchte

00:12:44.680 --> 00:12:48.820
wieder heraus, mit diesem hier.

00:12:48.820 --> 00:12:51.340
Also, wenn Sie tun
dies, ein weiterer Tipp,

00:12:51.340 --> 00:12:53.770
sowohl unter Windows als auch auf Mac,

00:12:53.770 --> 00:12:56.035
Sie können rechts klicken hier
und fügen Sie ein App-Projekt hinzu.

00:12:56.035 --> 00:12:57.985
Dies wird in die Lösungen,

00:12:57.985 --> 00:12:59.380
wenn Sie eine Xamarin-App machen,

00:12:59.380 --> 00:13:02.530
und Sie haben Ihre Lösung
mit dem UITest nebeneinander.

00:13:02.530 --> 00:13:05.365
Sie können sie an
miteinander arbeiten.

00:13:05.365 --> 00:13:11.410
Ich vermeide das in der Regel
vor allem, weil es manchmal

00:13:11.410 --> 00:13:13.810
nehmen Sie ein paar Minuten, wenn es

00:13:13.810 --> 00:13:17.800
eine wirklich große App, damit es zu starten
weil die App neu erstellt wird,

00:13:17.800 --> 00:13:21.370
auf dem Gerät bereitstellen und
starten Sie dann den Test für Sie.

00:13:21.370 --> 00:13:23.635
Ich mag einfach eine schnellere Durchlaufzeit,

00:13:23.635 --> 00:13:25.420
so mache ich in der Regel nur

00:13:25.420 --> 00:13:27.250
Stellen Sie sicher, dass die Apps bereits
auf meinem Gerät installiert ist,

00:13:27.250 --> 00:13:28.420
und dann fange ich an, Tests zu schreiben.

00:13:28.420 --> 00:13:33.500
Das ist coole kleine Spitze, sie
kann Ihnen manchmal helfen.

00:13:33.840 --> 00:13:36.730
Lassen Sie mich das hier hereinbringen. Alles klar.

00:13:36.730 --> 00:13:40.810
Also alles, was ich in diesem getan habe, ist wieder
einfach in den Weg zu setzen, wo

00:13:40.810 --> 00:13:45.595
die APK und die installierte
mobile ID für meine App.

00:13:45.595 --> 00:13:47.980
Ich kann jetzt AppInitializer loswerden,

00:13:47.980 --> 00:13:49.705
Ich brauche das nicht mehr.

00:13:49.705 --> 00:13:53.350
Lassen Sie uns also löschen. Nächster Schritt.

00:13:53.350 --> 00:13:55.585
Wir haben AppInitializer fertig.

00:13:55.585 --> 00:13:59.335
Wir müssen jetzt herkommen und
sehen Sie sich die BasePage an.

00:13:59.335 --> 00:14:00.640
Also BasePage.

00:14:00.640 --> 00:14:02.650
Also jede Seite, die ich
sprach über,

00:14:02.650 --> 00:14:03.850
wie jede Klasse eine Seite ist,

00:14:03.850 --> 00:14:05.605
so dass jede Seite geht
, um dies zu erben.

00:14:05.605 --> 00:14:07.390
Alles, was dies tut, ist es bietet Ihnen

00:14:07.390 --> 00:14:09.685
mit einem auf Android und unter iOS.

00:14:09.685 --> 00:14:11.980
So können Sie
diese plattformübergreifende Aufteilung

00:14:11.980 --> 00:14:13.810
von dem ich sprach.

00:14:13.810 --> 00:14:16.390
Eine weitere coole Sache, die
die BasePage für

00:14:16.390 --> 00:14:18.715
Sie sind es nimmt einen kostenlosen Screenshot.

00:14:18.715 --> 00:14:21.295
Also, wenn Sie laufen wollen
diese Tests im App Center,

00:14:21.295 --> 00:14:23.830
in der Regel haben Sie keine
Screenshots in Ihrem Test,

00:14:23.830 --> 00:14:25.030
wenn Sie nur einen Test hochladen,

00:14:25.030 --> 00:14:26.860
du wirst nicht bekommen
ein gutes Testergebnis.

00:14:26.860 --> 00:14:28.330
Um Ihnen das Leben leicht zu machen,

00:14:28.330 --> 00:14:30.610
wir haben eine AssertOnPage.

00:14:30.610 --> 00:14:33.250
Es ist kostenlos. Es tut es
automatisch auf jeder Seite.

00:14:33.250 --> 00:14:35.290
Also auf jeder Seite, die
erbt eine BasePage,

00:14:35.290 --> 00:14:37.600
es ist automatisch
gehen, um zu überprüfen, "Hey,

00:14:37.600 --> 00:14:40.434
ist dies auf der Seite, die ich erwarte?"

00:14:40.434 --> 00:14:42.820
Nun würden Sie sich fragen, wie
würde das System wissen oder

00:14:42.820 --> 00:14:45.190
wie überprüfen wir es ist
auf der Seite, die es sein muss.

00:14:45.190 --> 00:14:47.200
Das ist es, was diese Magie
wenig Ding und

00:14:47.200 --> 00:14:49.780
die vierte Datei namens PlatformQuery.

00:14:49.780 --> 00:14:52.660
Das ist es also, was wir in

00:14:52.660 --> 00:14:54.010
dieses Muster, um sicherzustellen, dass Sie

00:14:54.010 --> 00:14:55.840
auf der Seite, die Sie erwartet haben.

00:14:55.840 --> 00:14:58.315
Wenn Sie z. B.
auf einer Login-Seite,

00:14:58.315 --> 00:15:01.060
wahrscheinlich einige Leute
in der Regel haben sie das Wort

00:15:01.060 --> 00:15:03.700
Login oder wie auf dieser Seite angemeldet,

00:15:03.700 --> 00:15:05.440
Sie können einfach verwenden, dass
als Plattformfach

00:15:05.440 --> 00:15:07.180
um sicherzustellen, dass Sie
auf der Seite erwartet werden,

00:15:07.180 --> 00:15:09.100
Also nur etwas
eindeutig auf dieser Seite.

00:15:09.100 --> 00:15:10.870
Damit Sie sicher wissen, okay,

00:15:10.870 --> 00:15:12.490
Ich bin auf der Seite, die ich bin
erwartet, und ich

00:15:12.490 --> 00:15:14.665
können die Aktionen auf dieser Seite ausführen.

00:15:14.665 --> 00:15:17.455
Der schöne Teil ist einmal
überprüft, ob Sie sich auf dieser Seite befinden,

00:15:17.455 --> 00:15:18.850
Es nimmt einen kostenlosen Screenshot für Sie.

00:15:18.850 --> 00:15:21.325
So ist es wie auf dieser Seite.

00:15:21.325 --> 00:15:24.415
Alles klar. Das ist also
was BasePage tut.

00:15:24.415 --> 00:15:29.575
BaseTestFixtures sind alle Tests
wird dies erben.

00:15:29.575 --> 00:15:32.050
Derselbe Prozess. Sie sind also
bereitstellung von

00:15:32.050 --> 00:15:34.870
iOS- und Android-Werte hier.

00:15:34.870 --> 00:15:37.870
Auch hier gibt es manchmal
einige Fehler in der App, die

00:15:37.870 --> 00:15:41.620
Standard wenig bit
zwischen iOS und Android.

00:15:41.620 --> 00:15:43.780
In Ihren Tests
kann eine Trennung haben und

00:15:43.780 --> 00:15:46.870
den Fehler unter Verwendung dieser Werte.

00:15:46.870 --> 00:15:50.035
Buchstäblich, alles, was es tut, ist es packt

00:15:50.035 --> 00:15:52.735
der Wert von AppManager
und startet die App für Sie.

00:15:52.735 --> 00:15:54.580
Das ist es. Es ist super einfach,

00:15:54.580 --> 00:15:57.860
nichts zu kompliziert, nichts
zu ausgefallen hier.

00:15:57.870 --> 00:16:02.140
Der letzte ist der Test selbst.

00:16:02.140 --> 00:16:06.160
So war dies, wie die
Erster Test sieht aus wie,

00:16:06.160 --> 00:16:08.610
aber wenn Sie bemerkt haben,
in der Prüfvorrichtung,

00:16:08.610 --> 00:16:11.580
wir tun bereits wie alle
diese Markierungsdinge dort.

00:16:11.580 --> 00:16:13.470
So können wir den ganzen Test abspecken,

00:16:13.470 --> 00:16:15.060
es braucht nicht alle diese Werte.

00:16:15.060 --> 00:16:21.220
Was es zu suchen beginnt
wie ist so etwas wie diese.

00:16:21.220 --> 00:16:26.365
So wird Ihr Test buchstäblich
nur BaseTestFixture erben.

00:16:26.365 --> 00:16:27.970
Wieder gehen wir auf der Plattform vorbei,

00:16:27.970 --> 00:16:30.775
so weiß es, auf welcher Plattform ausgeführt werden soll.

00:16:30.775 --> 00:16:34.450
So ist der Repl der
lesegeschützte Eval-Schleife,

00:16:34.450 --> 00:16:36.685
die zu einer Abfrage nach
Elemente auf dem Bildschirm.

00:16:36.685 --> 00:16:38.935
So können Sie einen Test
die nur startet, dass,

00:16:38.935 --> 00:16:40.960
und dann habe ich einen weiteren Test
bereits in geschrieben

00:16:40.960 --> 00:16:44.155
hier geht das in die Homepage,

00:16:44.155 --> 00:16:46.750
wie auf der Homepage, die
die Apps sind jetzt eingeschaltet.

00:16:46.750 --> 00:16:48.355
Lassen Sie mich wieder App ziehen.

00:16:48.355 --> 00:16:52.690
Es wird wischen und es wird
gehen Sie in die Registerkarte Einstellungen.

00:16:52.690 --> 00:16:57.490
So einfach testen, nur um sicherzustellen, dass
Ich habe nichts durcheinander gebracht.

00:16:57.490 --> 00:16:58.765
Der Test ist also da.

00:16:58.765 --> 00:17:02.470
Werfen wir einen Blick auf das, was
eine abgeschlossene Seite sieht aus wie.

00:17:02.470 --> 00:17:04.495
Wir werden aufschreiben
diese Seite, also keine Sorge.

00:17:04.495 --> 00:17:08.540
Also durch das gehen, was zu erwarten ist.

00:17:09.060 --> 00:17:12.745
So sieht also eine Seite aus.

00:17:12.745 --> 00:17:16.150
Ein paar Tipps hier. Alien-Ding

00:17:16.150 --> 00:17:19.855
Die Word-Abfrage macht
Leben so viel schöner.

00:17:19.855 --> 00:17:24.145
Wenn Sie also
die verschiedenen Tasten auf dem Bildschirm,

00:17:24.145 --> 00:17:25.930
Sie können einfach nur Abfragen machen,

00:17:25.930 --> 00:17:28.450
oder Sie können es sogar schaffen
in einen ausgefallenen kleinen Funk.

00:17:28.450 --> 00:17:30.190
Das ist also ein cooler kleiner Tipp.

00:17:30.190 --> 00:17:31.780
Wir haben also diese
Tasten auf dem Bildschirm.

00:17:31.780 --> 00:17:33.385
Ich werde einen Kommentar abgeben
dies vorerst.

00:17:33.385 --> 00:17:36.820
Das nächste, was Sie bemerken werden
ist es erbt einige BasePage.

00:17:36.820 --> 00:17:39.820
Wenn ich also das wegnehmen würde,

00:17:39.820 --> 00:17:41.860
das System wird
automatisch wie sein,

00:17:41.860 --> 00:17:43.135
nein, da stimmt etwas nicht.

00:17:43.135 --> 00:17:46.270
Ich werde dich nicht dazu lassen
da Sie implementieren müssen

00:17:46.270 --> 00:17:49.960
die Plattformabfrageimplementierungen.

00:17:49.960 --> 00:17:52.810
Denn wie gesagt, es ist
was das System antreibt,

00:17:52.810 --> 00:18:00.520
es ist das, was im Grunde hilft,
das System versteht Entschuldigung,

00:18:00.520 --> 00:18:02.635
das okay, das ist auf
die Seite, die ich sein soll,

00:18:02.635 --> 00:18:05.275
und jetzt kann ich
die Aktionen darauf.

00:18:05.275 --> 00:18:11.320
Also die Homepage, das ist buchstäblich
diese Seite, auf der sie landet,

00:18:11.320 --> 00:18:15.730
es sucht nach, also für iOS,

00:18:15.730 --> 00:18:17.890
es ist Text für diese Schaltfläche.

00:18:17.890 --> 00:18:19.690
Ich habe kein iOS offen, oder?

00:18:19.690 --> 00:18:21.910
Es wird nach dieser Schaltfläche gesucht
das gMusic sagt.

00:18:21.910 --> 00:18:25.420
Aber wenn Sie bemerken, gibt es
keine Menü-Add-Task in Android.

00:18:25.420 --> 00:18:28.960
Lassen Sie uns also herausfinden, was der Handel
könnte für Android sein.

00:18:28.960 --> 00:18:31.525
Lass mich hin, wo ist mein Repl,

00:18:31.525 --> 00:18:33.970
nicht mein Terminal weggehen.

00:18:33.970 --> 00:18:39.080
Lassen Sie uns also sehen, was wir
haben hier weitergemacht.

00:18:40.140 --> 00:18:43.780
In diesem riesigen Strom der Dinge,

00:18:43.780 --> 00:18:45.625
dies kann ein wenig überwältigend sein.

00:18:45.625 --> 00:18:47.125
Wenn Sie UI schreiben
zum ersten Mal testen,

00:18:47.125 --> 00:18:48.340
Ich kenne viele Leute, die nicht

00:18:48.340 --> 00:18:49.930
wie rapel ansehen
und ich gebe dir keinen Vorwurf,

00:18:49.930 --> 00:18:51.670
Dies ist eine Cortana-Information.

00:18:51.670 --> 00:18:54.940
Wieder ein paar Tipps und Tricks
nur um Ihnen das Leben zu erleichtern.

00:18:54.940 --> 00:18:58.765
Dinge in diesen eckigen Klammern
sind in der Regel Klassen.

00:18:58.765 --> 00:19:01.750
Wenn Sie eine Klasse abfragen
und du versuchst herauszufinden,

00:19:01.750 --> 00:19:04.660
wenn ich eine ID für
eine Seite oder ein Element,

00:19:04.660 --> 00:19:07.480
Ich kann die Klasse verwenden,
ist, was Sie verwenden möchten.

00:19:07.480 --> 00:19:09.310
Was ich tun werde, ist,

00:19:09.310 --> 00:19:12.295
Ich ging tatsächlich hinein und fügte hinzu
ein paar Automatisierungs-IDs,

00:19:12.295 --> 00:19:15.010
und ich sehe, dass es jetzt
Spielseite und es gibt

00:19:15.010 --> 00:19:17.800
ein Mini-Player, der
dieses Ding unten,

00:19:17.800 --> 00:19:19.900
also werde ich
als Merkmal.

00:19:19.900 --> 00:19:21.940
Lassen Sie uns hier hineingehen und das ersetzen,

00:19:21.940 --> 00:19:23.635
so haben wir Mini-Spieler.

00:19:23.635 --> 00:19:26.530
So sieht die Homepage gut aus
genug für mich, das ist in Ordnung.

00:19:26.530 --> 00:19:28.990
Ich werde keine Methode setzen
in der Homepage gerade jetzt nur

00:19:28.990 --> 00:19:31.480
weil wir nicht tun
jede Aktion auf der Homepage noch,

00:19:31.480 --> 00:19:34.885
Alles, was wir tun, ist wischen
in dieses Seitenmenü.

00:19:34.885 --> 00:19:39.145
ich werde zurück in
die Basisseite für ein bisschen,

00:19:39.145 --> 00:19:41.980
weil es
coolfunky kleine Sache

00:19:41.980 --> 00:19:44.065
Ich habe hier, was ich bin
umzukopieren.

00:19:44.065 --> 00:19:47.230
Was vor sich geht, ist,

00:19:47.230 --> 00:19:49.585
die Basisseite ist super leistungsstark.

00:19:49.585 --> 00:19:51.940
Eines der coolen Dinge, die ich
wollen hier hervorheben ist,

00:19:51.940 --> 00:19:55.750
Wenn Sie sich die Art und Weise ansehen, wie diese App
arbeitet, lassen Sie mich das aufstellen,

00:19:55.750 --> 00:19:58.390
so bist du in den Songs, die du gerade bist,

00:19:58.390 --> 00:20:00.160
Sie können zu Künstlern wechseln.

00:20:00.160 --> 00:20:03.835
Auch hier ist das Seitenmenü
von derselben Seite aus zugänglich.

00:20:03.835 --> 00:20:06.010
Wenn ich in Genres gehe,

00:20:06.010 --> 00:20:08.245
wieder ist das Seitenmenü zugänglich,

00:20:08.245 --> 00:20:09.940
und ich liebe die Gastgeberseite,
und niemand hat

00:20:09.940 --> 00:20:12.055
auf meinen trashigen Musikgeschmack reagiert,

00:20:12.055 --> 00:20:14.210
Ihr seid die Besten.

00:20:14.760 --> 00:20:17.245
Die Sache ist, dies ist eine gemeinsame Seite

00:20:17.245 --> 00:20:18.880
es ist wie gemeinsame Funktionalität,

00:20:18.880 --> 00:20:20.800
Lassen Sie uns also den Code freigeben.

00:20:20.800 --> 00:20:24.670
Ich werde das
auf meiner Basisseite,

00:20:24.670 --> 00:20:29.185
also ist alles, was dies tut,
ist die Select-Menümethode,

00:20:29.185 --> 00:20:31.090
was tun wird
die Wirkung offener

00:20:31.090 --> 00:20:33.250
und wählen Sie ein Menüelement aus.

00:20:33.250 --> 00:20:35.845
Ich werde dies auf der Basisseite setzen
weil es aussieht wie

00:20:35.845 --> 00:20:39.460
jede einzelne Seite in dieser App
hat Zugriff auf diese Basisseite.

00:20:39.460 --> 00:20:41.470
Es wird
mein Leben leichter, das zu tun.

00:20:41.470 --> 00:20:45.775
Ein weiterer cooler Trick ist die Rückkehr
Werte dieser Methoden.

00:20:45.775 --> 00:20:47.635
Wenn Sie die Seite, auf der Sie sich befinden, zurückgeben,

00:20:47.635 --> 00:20:49.450
Sie können die Methoden weiter aneinanderreihen

00:20:49.450 --> 00:20:51.895
macht einfach Ihren Test
sehen viel schöner aus.

00:20:51.895 --> 00:20:54.865
Was wir mit empfehlen
das Seitenobjektmuster ist,

00:20:54.865 --> 00:20:58.825
wenn es sich um eine Methode handelt, die
aus dieser Seite zu navigieren,

00:20:58.825 --> 00:21:00.610
die Rückgabeeingabe der Seite selbst vornehmen.

00:21:00.610 --> 00:21:01.990
Weil das bedeutet, dass
du wirst fortfahren

00:21:01.990 --> 00:21:03.400
mehr Aktionen auf dieser Seite durchführen,

00:21:03.400 --> 00:21:06.490
Sie möchten keine Seite neu aufstellen
wenn Sie den Test schreiben.

00:21:06.490 --> 00:21:08.560
Aber wenn Sie navigieren
weg von der Seite,

00:21:08.560 --> 00:21:10.210
es bedeutet, dass es
wird eine neue Seite

00:21:10.210 --> 00:21:12.580
nach dieser Methode
wird sowieso getan,

00:21:12.580 --> 00:21:16.615
das ist, wenn Sie
es breit. Das ist ein weiterer cooler Tipp.

00:21:16.615 --> 00:21:22.420
Ich habe meinen Alias nicht in
hier, also lass mich das rüberziehen,

00:21:22.420 --> 00:21:26.000
Sie wollen einige Funks und wow verwenden.

00:21:26.790 --> 00:21:31.900
Okay, das scheint glücklich zu sein
das sieht gut aus.

00:21:31.900 --> 00:21:33.760
Ich habe eine ähnliche Sache, die

00:21:33.760 --> 00:21:38.185
die Drag-Aktion von unten
, um die jetzt reine Ansicht zu öffnen.

00:21:38.185 --> 00:21:40.495
Auch hier ist es eine gemeinsame Aktion
welche Seite Sie auch sind

00:21:40.495 --> 00:21:42.790
auf Sie in der Lage sein sollten,
diese Aktionen erneut durchführen,

00:21:42.790 --> 00:21:44.770
Ich habe das auf meiner Basisseite.

00:21:44.770 --> 00:21:46.900
Sie werden feststellen,
Dinge wie wir sind

00:21:46.900 --> 00:21:48.490
all dies tun
Grundsätze, die Sie tun würden

00:21:48.490 --> 00:21:50.080
wenn Sie eine App schreiben, die nicht

00:21:50.080 --> 00:21:52.120
notwendigerweise, wenn
Sie schreiben einen Test.

00:21:52.120 --> 00:21:54.910
Das Highlight der
das Ganze ist das,

00:21:54.910 --> 00:21:57.040
Schreiben von Tests ist wie das Schreiben einer App.

00:21:57.040 --> 00:21:58.570
Ich meine, wenn du schlau bist,

00:21:58.570 --> 00:22:00.175
und Sie können Test-Suiten robust gehen,

00:22:00.175 --> 00:22:01.480
es macht nur Schreiben

00:22:01.480 --> 00:22:04.310
die Tests und die Wartung
sie so viel schöner.

00:22:04.380 --> 00:22:06.805
Cool, so gewohnheitsmäßig eingerichtet,

00:22:06.805 --> 00:22:08.455
Ich habe meine Homepage eingerichtet.

00:22:08.455 --> 00:22:10.390
Wir haben unseren Test auf den Weg,

00:22:10.390 --> 00:22:11.440
also werde ich auskommentieren

00:22:11.440 --> 00:22:14.530
diese alte Testdatei, da
wir brauchen das nicht mehr,

00:22:14.530 --> 00:22:18.085
und das ist unsere Einstellungssache.

00:22:18.085 --> 00:22:23.230
Ein weiterer cooler Tipp, es ist alles
durch Nunit laufen.

00:22:23.230 --> 00:22:25.390
Ja, wenn Sie Nunit 3 jetzt unterstützen,

00:22:25.390 --> 00:22:30.170
damit Sie Nunit 3 mit UI-Test verwenden können.

00:22:30.960 --> 00:22:34.600
Hervorheben und Nutzen Sie jede einzelne Leistung
die Nunit zur Verfügung stellt.

00:22:34.600 --> 00:22:38.690
Verwenden Sie Testfälle, und Sie
Ihre Schreibtische zu optimieren.

00:22:39.900 --> 00:22:43.075
Es ist, als ob Sie
all diese Macht dort,

00:22:43.075 --> 00:22:44.560
vergessen Sie nicht, dass
auch wenn dies

00:22:44.560 --> 00:22:46.300
Xamarin UI-Test wird auf Nunits ausgeführt,

00:22:46.300 --> 00:22:48.610
Sie haben alle Nunit-Funktionalität
Ihnen zur Verfügung stehen.

00:22:48.610 --> 00:22:50.965
So können Sie behaupten, Dass Sie
können Testfälle verwenden,

00:22:50.965 --> 00:22:52.615
Sie ignorieren können,

00:22:52.615 --> 00:22:56.410
Sie können auch
meine Lieblings-Ding-Kategorie.

00:22:56.410 --> 00:22:59.590
Meine Lieblingssache zu
tun mit Kategorie ist zu

00:22:59.590 --> 00:23:02.275
Tests mit Rauchtest einrichten,

00:23:02.275 --> 00:23:04.825
nächtliche Tests, Entwicklungstests.

00:23:04.825 --> 00:23:08.665
Wenn Sie Ihr CI/CD-Setup
mit den UI-Tests darin,

00:23:08.665 --> 00:23:10.690
Kategorisierung Ihrer Tests,
so dass Sie nicht ausgeführt werden

00:23:10.690 --> 00:23:12.625
die gesamte Testsammlung jedes Mal.

00:23:12.625 --> 00:23:16.465
Also, wenn es nur ein Dev BR-Check ist
nur machen es läuft auf Rauchtests.

00:23:16.465 --> 00:23:18.490
Wenn es ein täglich erbgroßer,

00:23:18.490 --> 00:23:19.840
eine Teilmenge von

00:23:19.840 --> 00:23:22.825
Ihre gesamte Suite und rufen Sie, dass
Ihre tägliche Testkategorie.

00:23:22.825 --> 00:23:24.640
Wenn es ein Nike-Gebot ist, dann würde ich

00:23:24.640 --> 00:23:26.830
empfehlen, wie zu tun
den gesamten Test Ende-zu-Ende,

00:23:26.830 --> 00:23:28.150
nur weil niemand
Arbeiten an und Sie

00:23:28.150 --> 00:23:30.145
haben alle drei Computer.

00:23:30.145 --> 00:23:36.410
Verwenden Sie auch hier alle coolen
Dinge, die Nunit zur Verfügung stellen muss.

00:23:36.540 --> 00:23:42.145
Ich werde die wieder aufbauen,

00:23:42.145 --> 00:23:43.540
oops, ich habe meine Vergewaltigung offen,

00:23:43.540 --> 00:23:44.725
nicht wahr? Ja tue ich.

00:23:44.725 --> 00:23:47.380
Lassen Sie uns damit aufhören,

00:23:47.380 --> 00:23:50.905
Raps ist gut, sieht glücklich aus.

00:23:50.905 --> 00:23:58.930
Wir richten den Testfall für
Einstellungsseite und checken Sie dies aus.

00:23:58.930 --> 00:24:03.010
Stellt es jetzt in
das Komponentenprüffeld,

00:24:03.010 --> 00:24:05.260
also werde ich offen gehen
auf der Einstellungsseite,

00:24:05.260 --> 00:24:07.285
Mal sehen, wie das aussieht.

00:24:07.285 --> 00:24:10.795
Versuch Nummer zwei mit iOS,
Mal sehen, wie das geht.

00:24:10.795 --> 00:24:14.300
Nein, es mag nicht
mein iOS-Gerät, warum?

00:24:16.920 --> 00:24:21.490
Oops, stand dies, töten die App.

00:24:21.490 --> 00:24:25.300
Holen Sie sich diese App wieder, sauber.

00:24:25.300 --> 00:24:35.155
Hier gehen wir, kommen Sie,

00:24:35.155 --> 00:24:37.520
Editieren Sie es nicht auf mich.

00:24:37.800 --> 00:24:40.825
Machen Sie alle Demo-Götter glücklich.

00:24:40.825 --> 00:24:45.610
Während es läuft, lass mich sehen,

00:24:45.610 --> 00:24:48.670
Ich wollte etwas sagen, das
nur, oh ja, es läuft jetzt.

00:24:48.670 --> 00:24:54.710
Mal sehen, wie das geht.
Es öffnet die App.

00:24:57.450 --> 00:25:01.990
Nein, es hat nicht gewischt und
wählen Sie mein Menüelement aus.

00:25:01.990 --> 00:25:04.550
Ich bin jetzt so traurig, lasst uns
sehen, was vor sich geht.

00:25:04.650 --> 00:25:08.840
Site rechts links, haben wir das Menü.

00:25:13.650 --> 00:25:16.000
Das nächste, was dies wird
geschehen, aber sagen wir mal

00:25:16.000 --> 00:25:18.085
die ich beim Debugtest gemacht habe.

00:25:18.085 --> 00:25:20.260
Nicht sicher, warum das nicht funktioniert,

00:25:20.260 --> 00:25:22.210
was ich tun werde, ist zu gehen
hier zu eindringen,

00:25:22.210 --> 00:25:24.010
und ich werde überprüfen,
warum mein Test nicht funktioniert

00:25:24.010 --> 00:25:25.870
weil ich ehrlich gesagt
dachte, dass dies

00:25:25.870 --> 00:25:30.530
arbeiten, wie ich es brauche
wie ein Artikel arbeiten.

00:25:33.570 --> 00:25:36.985
So ist der abgeschlossene Test,

00:25:36.985 --> 00:25:39.565
oh mein Gott, ich soll
denken Sie daran, das zu töten.

00:25:39.565 --> 00:25:44.290
Sie haben gesehen, wie das fertige Aussehen

00:25:44.290 --> 00:25:46.090
des Tests sieht aus wie
und wie kann ein Haufen

00:25:46.090 --> 00:25:48.550
meine Go-Share und Methodenfreigabe
die Sie tun können.

00:25:48.550 --> 00:25:53.080
Wie würden Sie anfangen
einen neuen Test zu schreiben,

00:25:53.080 --> 00:25:55.435
Also vielleicht Konvertieren von Tests
die Sie bereits haben.

00:25:55.435 --> 00:25:57.130
Schritt Nummer eins wäre buchstäblich

00:25:57.130 --> 00:25:58.885
was ich gerade getan habe,
Hinzufügen im UI-Test,

00:25:58.885 --> 00:26:01.405
Sie können das Pop-Paket verwenden
oder Sie können in

00:26:01.405 --> 00:26:05.690
GitHub und manuell kopieren
diese Seiten, was immer Sie mögen.

00:26:06.240 --> 00:26:10.180
Die zweite Sache ist,
wie ich gesagt habe, dass du hineingehst,

00:26:10.180 --> 00:26:11.500
bearbeiten Sie die App-Manager-Datei,

00:26:11.500 --> 00:26:14.260
Löschen Sie alle App-Initialisierungs-
Datei, Haben Sie all das getan.

00:26:14.260 --> 00:26:17.050
Sie kommen herein und dann

00:26:17.050 --> 00:26:19.795
der nächste Schritt ist buchstäblich nur
, um mit dem Erstellen der Seiten zu beginnen.

00:26:19.795 --> 00:26:22.150
Ich hatte Homepage bereits erstellt
mit dem Handel dort,

00:26:22.150 --> 00:26:23.560
aber das ist buchstäblich der nächste Schritt.

00:26:23.560 --> 00:26:25.120
Das anfängliche Buy-In kann ein

00:26:25.120 --> 00:26:26.920
wenig teuer, weil
es braucht ein wenig

00:26:26.920 --> 00:26:30.490
Zeit abhängig davon, wie viele Seiten
und wie weit fortgeschritten Ihre App ist.

00:26:30.490 --> 00:26:31.870
Aber der schöne Teil ist,

00:26:31.870 --> 00:26:33.460
Sie können diese Arbeit tatsächlich aufteilen

00:26:33.460 --> 00:26:35.200
weil es unabhängig ist
auf, wer daran arbeitet.

00:26:35.200 --> 00:26:36.715
Weil jeder, der auf dieser Seite ist,

00:26:36.715 --> 00:26:38.110
so können Sie die Arbeit von

00:26:38.110 --> 00:26:39.640
Schreiben jeder Seite
zwischen fünf Personen,

00:26:39.640 --> 00:26:41.005
jeder schreibt eine Seite,

00:26:41.005 --> 00:26:43.810
und das ist es, Sie haben in
die Ersteinrichtung abgeschlossen.

00:26:43.810 --> 00:26:47.800
Denn sobald die Seiten in
alles, was die meiste Zeit in Anspruch nimmt,

00:26:47.800 --> 00:26:50.365
dann kochst du einfach auf
die Methoden zum Schreiben ihrer Tests,

00:26:50.365 --> 00:26:52.645
super-einfach, es ist
wirklich unkompliziert.

00:26:52.645 --> 00:27:00.500
Sehen wir uns nun an, warum mein Wisch
von rechts nach links wurde nicht gewischt.

00:27:03.750 --> 00:27:07.840
Ist mein Code also anders herum?

00:27:07.840 --> 00:27:11.170
Mein Code ist richtig,
links, okay mal sehen.

00:27:11.170 --> 00:27:14.090
Ich hatte die Vergewaltigung offen, lassen Sie uns überprüfen.

00:27:14.100 --> 00:27:18.730
Wenn es von rechts nach links geht
es tut nichts Seltsames.

00:27:18.730 --> 00:27:20.740
Okay, gehen wir von links nach rechts.
Ich denke, ihr habt Recht.

00:27:20.740 --> 00:27:27.400
Ich denke, es ist angenommen, dass
, um von links nach rechts zu wischen.

00:27:28.380 --> 00:27:31.615
Da gehst du hin, schöner Fang. Danke.

00:27:31.615 --> 00:27:35.470
Die Freude über die Abstimmung darüber und keine
von dir schlafen, das ist gut.

00:27:35.470 --> 00:27:37.090
Ich hasse Es, Sitzungen zu machen
nach dem Mittagessen, weil

00:27:37.090 --> 00:27:39.860
Ich bin mir immer sicher, dass
jeder schläft.

00:27:41.010 --> 00:27:44.065
Die andere Sache, die ich tat
hier ich an zu setzen

00:27:44.065 --> 00:27:46.330
eine Stichprobe, wie eine Funktion
würde aussehen wie,

00:27:46.330 --> 00:27:48.790
aber ich habe die Dinge selbst überkompliziert.

00:27:48.790 --> 00:27:50.500
Das ist buchstäblich nur

00:27:50.500 --> 00:27:53.570
eine Zeichenfolgenabfrageübereinstimmung
zu dem, was hier drin ist.

00:27:53.790 --> 00:27:56.890
Eine andere Sache, die ich gerne
in der Regel tun, da wie ich

00:27:56.890 --> 00:27:59.380
sagte die anfängliche Einrichtung
ist nur die Seiten,

00:27:59.380 --> 00:28:01.900
und der schnellste Weg
um Elemente auf

00:28:01.900 --> 00:28:05.190
eine Seite I App.flash alles,

00:28:05.190 --> 00:28:07.695
es ist meine Lieblingssache hier.

00:28:07.695 --> 00:28:11.470
Da wollte ich einfach tippen
auf dieser Einstellungsschaltfläche,

00:28:12.050 --> 00:28:15.215
wenn ich nur hinzufügen. Flash-Einstellungen,

00:28:15.215 --> 00:28:18.160
Ich kann nur herausfinden- es ist
zwei Einstellungstasten,

00:28:18.160 --> 00:28:21.920
Ich muss es nur gehen lassen, tun.

00:28:22.830 --> 00:28:25.705
Das sind meine genauen Einstellungen
Taste, das war's.

00:28:25.705 --> 00:28:28.375
Wenn Sie nur ein wenig
Zeit und einfach weiter so,

00:28:28.375 --> 00:28:30.775
es macht Einstellung von
diese Seiten super schnell.

00:28:30.775 --> 00:28:33.160
Auch in den meisten Fällen, wenn
du bist derjenige, der

00:28:33.160 --> 00:28:35.440
die App geschrieben, die Sie kennen
welche Automatisierungs-ID Sie

00:28:35.440 --> 00:28:37.465
in Xamarin Forms oder

00:28:37.465 --> 00:28:40.540
welcher Name für Barrierefreiheit
ID, die Sie angegeben haben.

00:28:40.540 --> 00:28:42.700
So würden Sie höchstwahrscheinlich
kennen Sie die Abfrage bereits.

00:28:42.700 --> 00:28:44.260
Es sollte super super schnell sein,

00:28:44.260 --> 00:28:47.245
und super intuitiv
sobald Sie in sie einsteigen.

00:28:47.245 --> 00:28:50.814
Ich werde das packen,

00:28:50.814 --> 00:28:52.660
und ich werde dies ändern, weil

00:28:52.660 --> 00:28:54.550
es muss nicht
so kompliziert sein.

00:28:54.550 --> 00:29:01.255
Dies kann buchstäblich nur eine Zeichenfolge sein
und es kann einfach hier leben.

00:29:01.255 --> 00:29:03.830
Dann werde ich verwenden,

00:29:05.460 --> 00:29:07.690
Ich habe das heute nicht einziehen,

00:29:07.690 --> 00:29:09.800
Nein, es ist genau hier, okay.

00:29:17.450 --> 00:29:24.105
Nein, macht es nicht,
nun, okay, halten Sie sich.

00:29:24.105 --> 00:29:26.830
Ich werde eine
ein bisschen Fudging hier.

00:29:30.770 --> 00:29:35.320
Ich möchte mich zeigen
wie man diese schreibt.

00:29:37.520 --> 00:29:40.125
Okay. Das sieht gut aus.

00:29:40.125 --> 00:29:47.140
Lassen Sie uns ändern, und
lassen Sie uns ändern.

00:29:49.580 --> 00:29:53.010
Ich benötige meine Abfrage erneut.

00:29:53.010 --> 00:29:57.040
Also werde ich wieder in
hier. Das war also die Abfrage.

00:30:00.800 --> 00:30:03.060
Was benötige ich hier?

00:30:03.060 --> 00:30:10.270
Also werde ich nur
nehmen Sie diese Einstellungen vor.

00:30:16.040 --> 00:30:18.120
Eigentlich kann ich nicht einmal

00:30:18.120 --> 00:30:20.400
brauchen, jetzt
dass ich darüber nachdenke.

00:30:20.400 --> 00:30:23.205
Ich kann einfach reingehen und das tun,

00:30:23.205 --> 00:30:29.580
werfen in meinem Lambda-Check
genau hier.

00:30:29.580 --> 00:30:33.900
So macht aus Element dies,
"Tap" auf Element dies.

00:30:33.900 --> 00:30:36.420
Okay. So ist dies vorerst,

00:30:36.420 --> 00:30:42.030
wir öffnen einfach das Einstellungsmenü,

00:30:42.030 --> 00:30:44.265
nur weil ich nicht will
um die Zeit aller zu verschwenden,

00:30:44.265 --> 00:30:45.165
und wir nähern uns.

00:30:45.165 --> 00:30:49.455
Lassen Sie uns dies hier einrichten.

00:30:49.455 --> 00:30:52.660
Okay, toll.

00:30:53.900 --> 00:30:56.290
Was ist los?

00:31:02.450 --> 00:31:05.700
Also nannte ich es.

00:31:05.700 --> 00:31:09.510
"SelectMenuItem", aber ich
geben Sie ihm jetzt einen Wert.

00:31:09.510 --> 00:31:12.490
Okay. Lassen Sie uns dies tun.

00:31:14.330 --> 00:31:17.100
Läuft es noch?

00:31:17.100 --> 00:31:21.525
Okay. Also immer daran denken, zu töten
die App, die ich vergesse zu tun.

00:31:21.525 --> 00:31:24.090
Lassen Sie uns das in Gang bringen.

00:31:24.090 --> 00:31:31.680
Ich denke, das ist der langsamste Teil,

00:31:31.680 --> 00:31:33.165
nur auf diesen Start warten.

00:31:33.165 --> 00:31:36.225
Aber abgesehen davon,
es wird super schnell.

00:31:36.225 --> 00:31:38.430
Also, was wir jetzt tun werden
sehr schnell bin ich nur

00:31:38.430 --> 00:31:40.470
zeigen Sie, wie Sie eine Seite einrichten, da

00:31:40.470 --> 00:31:44.520
das ist in der Regel alles, was Sie
müssen verstehen, was

00:31:44.520 --> 00:31:49.540
und einfach verstehen.

00:31:51.860 --> 00:31:55.965
Lassen Sie mich raten, mein Index
ist Null nicht eins.

00:31:55.965 --> 00:31:58.200
Ja, mein Index ist Null und nicht eins.

00:31:58.200 --> 00:32:03.580
Okay. Lassen Sie uns spalten.

00:32:04.160 --> 00:32:08.160
Na bitte. Was ich will
Stellen Sie sicher, dass es sich um eine Folie eins, zwei handelt.

00:32:08.160 --> 00:32:11.280
Okay. Es wird auf dieser Seite kommen.

00:32:11.280 --> 00:32:13.905
Aber was wir tun werden
tatsächlich den Test für schreiben,

00:32:13.905 --> 00:32:16.290
Ich möchte das testen
jetzt bildschirmabspielen.

00:32:16.290 --> 00:32:22.150
Versuchen wir es also.

00:32:23.030 --> 00:32:26.140
Lassen Sie uns hier reingehen.

00:32:32.330 --> 00:32:38.710
OpenNowPlaying und wann ich
öffnen Sie ein Repl auf dieser Seite.

00:32:42.650 --> 00:32:46.515
Okay. Während das startet,

00:32:46.515 --> 00:32:49.095
Wie würden Sie mit einer neuen Seite beginnen?

00:32:49.095 --> 00:32:54.120
"Neue Seite hinzufügen". Also lasst uns
nowPlayingPage nennen.

00:32:54.120 --> 00:32:57.270
Jeder gut zu lernen. das
ist, was jeder tun würde.

00:32:57.270 --> 00:33:00.749
Nächster Schritt, wir gehen, um
erben von BasePage,

00:33:00.749 --> 00:33:02.010
aber dann wird es so sein: "Nein,

00:33:02.010 --> 00:33:03.435
Sie benötigen die Plattformabfrage."

00:33:03.435 --> 00:33:06.490
Okay. Werfen Sie die Plattformabfrage ein.

00:33:09.530 --> 00:33:13.560
So ist es auf meiner Seite
und es ist bereit zu gehen.

00:33:13.560 --> 00:33:17.310
So können wir das hier wieder tun,

00:33:17.310 --> 00:33:18.990
die Schriftart dafür abrufen.

00:33:18.990 --> 00:33:21.750
Okay. So in der Regel, was ich tue, ist,

00:33:21.750 --> 00:33:25.980
Ich erinnere mich nie, wie die Plattform
Eigenschaften und Sachen sieht aus wie.

00:33:25.980 --> 00:33:30.645
Ich gehe und öffne in einer Probe oder ich
gehen Sie einfach in bereits gemachte Seite.

00:33:30.645 --> 00:33:34.515
Ich entscheide mich, dies über
weil ich gerne betrüge.

00:33:34.515 --> 00:33:39.030
Unter diesem Befehl
hier setzen Sie dies in hier.

00:33:39.030 --> 00:33:40.980
Alles klar. Alles, was Sie haben, um
tun jetzt kommt in und nur

00:33:40.980 --> 00:33:43.395
ändern Sie die Merkmalswerte
pro Plattform.

00:33:43.395 --> 00:33:46.290
Also lassen Sie uns sehen, was es
könnte für iOS sein.

00:33:46.290 --> 00:33:49.150
Mal sehen, was wir hier haben.

00:33:49.700 --> 00:33:53.745
Wir haben eine Reihe von Bildschirmen.

00:33:53.745 --> 00:33:55.890
Aber ich habe die Seiten-ID, die sagt

00:33:55.890 --> 00:33:58.050
NowPlayingPage, die vielversprechend ist.

00:33:58.050 --> 00:33:59.310
Also werde ich das packen.

00:33:59.310 --> 00:34:03.490
Für iOS werde ich also
legen Sie dies als Seiteneigenschaft.

00:34:06.250 --> 00:34:10.120
Das ist beendet sind hier.

00:34:10.120 --> 00:34:13.020
Ich werde Android hochziehen,

00:34:13.020 --> 00:34:18.510
und lassen Sie uns das gleiche tun
etwas für Android.

00:34:18.510 --> 00:34:21.855
Also Android-Einstellungen.

00:34:21.855 --> 00:34:25.120
Lassen Sie mich diesen Test einfach durchführen.

00:34:25.250 --> 00:34:27.890
Also Ersteinrichtung.

00:34:27.890 --> 00:34:30.320
Ich mache nicht nur buchstäblich
was ich tun werde, wenn ich

00:34:30.320 --> 00:34:32.960
dies allein an meinem Schreibtisch.

00:34:32.960 --> 00:34:34.430
Der erste Schritt, den ich einfallen würde,

00:34:34.430 --> 00:34:35.690
starten Sie dies ein paar Mal,

00:34:35.690 --> 00:34:38.045
alle Seitenmerkmale fertig zu bekommen.

00:34:38.045 --> 00:34:40.900
Sobald ich die Seiteneigenschaftswerte habe,

00:34:40.900 --> 00:34:42.810
Ich muss dies beheben
für Android klar,

00:34:42.810 --> 00:34:43.935
es wird nicht nach rechts gewischt.

00:34:43.935 --> 00:34:48.405
Aber ein Baum hier,

00:34:48.405 --> 00:34:51.850
mal sehen, was los ist
in Android. Mal sehen.

00:34:51.890 --> 00:34:55.830
Also gibt es das Etikett.
Weil ich wieder aufkomme.

00:34:55.830 --> 00:35:00.330
Okay. Es gibt also MiniPlayer,
es gibt CurrentSong, CurrentArtist.

00:35:00.330 --> 00:35:02.280
Ich sehe wieder eine öffnende Seite.

00:35:02.280 --> 00:35:05.910
Also lassen Sie uns einfach leihen
dasselbe für beide.

00:35:05.910 --> 00:35:09.180
Nun, da das eingerichtet ist,
können wir anfangen,

00:35:09.180 --> 00:35:12.270
einige Werte für Elemente
auf diesem Bildschirm.

00:35:12.270 --> 00:35:17.235
Also wieder zurück, lasst uns greifen
den Verwendungsalias dafür.

00:35:17.235 --> 00:35:20.265
NowPlayingPage, lassen Sie uns
kommen Sie hier herein. Alles klar.

00:35:20.265 --> 00:35:23.370
Die NowPlayingPage hat also
eine Reihe von Tasten, die ich sehe.

00:35:23.370 --> 00:35:26.460
Mal sehen, was hier los ist.

00:35:26.460 --> 00:35:28.710
Es gibt also den "Play"-Button,

00:35:28.710 --> 00:35:30.180
da ist das Auf und Ab,

00:35:30.180 --> 00:35:33.180
Daumen runter, da ist
"MiniPlayer".

00:35:33.180 --> 00:35:36.360
Was ich versuchen werde, ist,

00:35:36.360 --> 00:35:38.370
mal sehen, ob Sie
in die Schaltfläche "Shuffle".

00:35:38.370 --> 00:35:40.650
Das ist also dieser Button hier drüben.

00:35:40.650 --> 00:35:42.630
Es gibt also Shuffle,
es gibt wiederholungsfestes Spiel.

00:35:42.630 --> 00:35:45.210
Richting. Nun, wenn Sie dies bemerken
ist ein weiteres Problem, das ich gesehen habe.

00:35:45.210 --> 00:35:48.075
So haben Sie vielleicht nicht immer
Kontrolle über den Quellcode,

00:35:48.075 --> 00:35:49.350
und Sie können nicht immer
in der Lage sein, in

00:35:49.350 --> 00:35:50.640
und fügen Sie Automatisierungs-IDs hinzu,

00:35:50.640 --> 00:35:53.055
oder fügen Sie physische Namen für Dinge hinzu.

00:35:53.055 --> 00:35:54.900
Also zum Beispiel, wenn ich hier hineinschaue,

00:35:54.900 --> 00:35:58.125
alles, was ich zu sehen bekomme, ist
die unteren Gittersteuerung.

00:35:58.125 --> 00:36:02.280
Ich habe keine spezifischen Namen
für eine dieser Schaltflächen.

00:36:02.280 --> 00:36:04.440
Ich denke, das ist eine benutzerdefinierte Steuerung
dieser Blick verwendet wird.

00:36:04.440 --> 00:36:07.510
Ich habe also keine Werte dafür.

00:36:07.610 --> 00:36:11.895
Der beste Weg, es zu tun, ist
einfach weiter bohren.

00:36:11.895 --> 00:36:13.604
Also werde ich,

00:36:13.604 --> 00:36:15.060
lassen Sie uns von hier herunterabfragen.

00:36:15.060 --> 00:36:18.210
So heißt dies
die unteren Gittersteuerung.

00:36:18.210 --> 00:36:22.395
Also werde ich mir ansehen, was
die Kinder zuerst darin.

00:36:22.395 --> 00:36:27.870
Ich denke, ich sehe eins, zwei, drei, vier.

00:36:27.870 --> 00:36:29.400
Nein, es gibt viel
der Dinge drin.

00:36:29.400 --> 00:36:31.320
Okay. Lassen Sie uns diese blinken, weil ich

00:36:31.320 --> 00:36:34.150
nicht sicher, was hier drin ist,
es gibt so viele Dinge.

00:36:37.950 --> 00:36:41.890
Okay. Eins, zwei, drei, vier, okay.

00:36:41.890 --> 00:36:45.235
So ist zum unteren Raster
dieser ganze Bodenbereich,

00:36:45.235 --> 00:36:46.990
Ich brauche nicht den gesamten unteren Bereich.

00:36:46.990 --> 00:36:50.140
Also werde ich das letzte Kind benutzen,

00:36:50.140 --> 00:36:53.650
und mal sehen, was
in der, da gehen wir.

00:36:53.650 --> 00:36:55.450
Wir kommen uns jetzt näher, oder?

00:36:55.450 --> 00:37:00.780
So wird es nicht immer
ein glücklicher Fall sein, in dem Sie

00:37:00.780 --> 00:37:02.880
schreiben Sie diese perfekten IDs
und Sie wissen, pflegen

00:37:02.880 --> 00:37:06.765
ein perfekter eindeutiger Satz von Bezeichnern
für Element auf dem Bildschirm.

00:37:06.765 --> 00:37:08.790
Ich würde mich nicht zu sehr dafür entscheiden.

00:37:08.790 --> 00:37:11.790
Mit etwas und
nur grundlegende Tests erhalten

00:37:11.790 --> 00:37:13.470
gehen ist viel wichtiger als

00:37:13.470 --> 00:37:15.545
Versuchen, eindeutige IDs zu finden
für jedes Element.

00:37:15.545 --> 00:37:17.740
Solange der Test nicht bricht,

00:37:17.740 --> 00:37:20.530
es ist ein wenig spröde an dieser Stelle
Ich würde zustimmen, aber dann ist das

00:37:20.530 --> 00:37:23.470
wenn Sie diesen Test machen können und
dem Team zeigen und wie sein,

00:37:23.470 --> 00:37:25.315
"Hey, das ist wirklich nützlich."

00:37:25.315 --> 00:37:27.115
Beginnen wir mit dem Hinzufügen,

00:37:27.115 --> 00:37:28.390
die Tatsache, dass diese

00:37:28.390 --> 00:37:29.770
getestet und lassen Sie uns achtsamer sein,

00:37:29.770 --> 00:37:31.660
Hinzufügen weiterer Namen zu
diese Dinge in der Zukunft.

00:37:31.660 --> 00:37:33.280
Also kommen wir herein.

00:37:33.280 --> 00:37:35.425
Ich denke, das war der zweite Knopf,

00:37:35.425 --> 00:37:38.020
es wird überprüft. Yup. Das wars.

00:37:38.020 --> 00:37:42.055
Der nächste Schritt wäre also buchstäblich:

00:37:42.055 --> 00:37:44.080
Ich kann einfach hier reingehen.

00:37:44.080 --> 00:37:46.090
Hier ist die Schönheit
kommt herein, oder?

00:37:46.090 --> 00:37:49.270
So ist das, so nennen wir es.

00:37:49.270 --> 00:37:58.040
Es gibt also den Shuffle Button
und es gibt, lassen Sie uns gehen.

00:37:59.460 --> 00:38:02.395
Was war beim Repeat Button?

00:38:02.395 --> 00:38:04.150
Sie sind eine Art von Nebentür
einander, oder?

00:38:04.150 --> 00:38:06.550
Lassen Sie uns also die Einrichtung optimieren.

00:38:06.550 --> 00:38:09.430
Hier initialisieren Sie also

00:38:09.430 --> 00:38:13.435
die Abfragen für
jedes Steuerelement auf der Seite.

00:38:13.435 --> 00:38:18.235
Hier also ist die Cross-Plattform
Teil des Seitenobjekts wird wiedergegeben.

00:38:18.235 --> 00:38:21.310
Wenn die Abfrage die
auf beiden Plattformen gleich,

00:38:21.310 --> 00:38:23.395
dieses aktuelle ist ein großartiges Beispiel.

00:38:23.395 --> 00:38:25.600
Ich glaube nicht, dass es
das gleiche auf jedem, nur weil wir

00:38:25.600 --> 00:38:28.240
musste durchgehen wie
das Bett und kind einer Sache,

00:38:28.240 --> 00:38:32.230
und UI-Layouts innerhalb von iOS und
Android kann ein wenig anders sein.

00:38:32.230 --> 00:38:33.700
Das ist also ein guter Kandidat als nicht.

00:38:33.700 --> 00:38:36.940
Dies wird wahrscheinlich nicht
ein gemeinsamer Wert zu sein,

00:38:36.940 --> 00:38:39.730
aber so etwas wie
der Now Playing-Handel.

00:38:39.730 --> 00:38:41.320
Da es das gleiche ist
auf beiden Plattformen,

00:38:41.320 --> 00:38:43.105
Sie könnten nur buchstäblich
kommen sie einfach wie

00:38:43.105 --> 00:38:46.405
Shuffle Button und dann nur
Löschen Sie die Abfrage hier,

00:38:46.405 --> 00:38:47.710
und das bedeutet nur, dass oh verwenden

00:38:47.710 --> 00:38:50.005
derselbe Abfragewert
für welche Plattformen.

00:38:50.005 --> 00:38:52.450
Aber wenn es für jeden anders ist,

00:38:52.450 --> 00:38:53.875
Lassen Sie uns es einfach trennen.

00:38:53.875 --> 00:38:56.875
Wenn also auf beiden Plattformen,

00:38:56.875 --> 00:38:58.885
wie Sie tun werden, um

00:38:58.885 --> 00:39:00.460
bestimmte unterschiedliche Einstellungen in iOS und

00:39:00.460 --> 00:39:02.575
Android und Firmen ähnliches Konzept.

00:39:02.575 --> 00:39:05.065
Das ist also das, was die
Shuffle Button sieht aus wie,

00:39:05.065 --> 00:39:08.725
und wir haben den Repeat Button

00:39:08.725 --> 00:39:12.955
und den Index dieser
war aber nur,

00:39:12.955 --> 00:39:14.410
Ich denke, ich habe den Index ausgewechselt.

00:39:14.410 --> 00:39:17.935
Das ist also eine, dies ist
zwei, [unhörbar] Boom.

00:39:17.935 --> 00:39:20.560
Das wars. Okay. du
könnte an dieser Stelle

00:39:20.560 --> 00:39:23.725
tatsächlich einfach weitermachen und
legen Sie die Seitenmethoden fest.

00:39:23.725 --> 00:39:26.650
So wie für diese Seite
und jetzt spielen,

00:39:26.650 --> 00:39:34.790
dies wird Drücken
sagen Shuffle Button.

00:39:36.720 --> 00:39:40.915
Ich werde das zurückgeben,

00:39:40.915 --> 00:39:42.940
nur, weil dies
eine Aktion, die nicht

00:39:42.940 --> 00:39:44.695
navigieren in der Nähe von Weg aus dieser Seite.

00:39:44.695 --> 00:39:46.150
Ich werde bleiben und kann

00:39:46.150 --> 00:39:48.670
weiter
mehr Dinge auf dieser Seite.

00:39:48.670 --> 00:39:51.370
Danach kann ich gehen und
klicken Sie auf die Schaltfläche "Up".

00:39:51.370 --> 00:39:53.050
Ich kann auf die Freigabe-Schaltfläche klicken.

00:39:53.050 --> 00:39:55.255
Ich kann auf die Auslassungsschaltfläche klicken.

00:39:55.255 --> 00:39:57.310
Das war es also, was ich war

00:39:57.310 --> 00:39:59.290
Sprechen über vor Aktionen
die auf der Seite bleiben,

00:39:59.290 --> 00:40:00.865
den Seitentyp selbst zurückgeben.

00:40:00.865 --> 00:40:03.325
Denn wenn Sie einen Test schreiben,

00:40:03.325 --> 00:40:06.460
es kann entlang spannen.

00:40:06.460 --> 00:40:08.320
Also noch eine gute Sache
Ich mag es zu tun ist,

00:40:08.320 --> 00:40:10.210
Ich warte immer gerne
für ein Element, das

00:40:10.210 --> 00:40:12.775
angezeigt werden, bevor ich eine Aktion dazu mache.

00:40:12.775 --> 00:40:16.510
Es ist wie durchsetzungsfähig
wahr oder durchsetzungsfähig sichtbar,

00:40:16.510 --> 00:40:17.680
aber ich versuche nur, Gewicht für

00:40:17.680 --> 00:40:19.390
Element nur weil
es hat eine eingebaute

00:40:19.390 --> 00:40:22.870
Wiederholungsmechanismus bereits
aus dem UI-Test in sie gebacken.

00:40:22.870 --> 00:40:25.720
Macht es super schön.
Macht meinen Test ein Gefühl

00:40:25.720 --> 00:40:28.915
wenig mehr, als ob ich mich fühle
besser darüber vorher.

00:40:28.915 --> 00:40:30.760
Nur um sicherzustellen, dass das Element
wurde tatsächlich

00:40:30.760 --> 00:40:33.115
auf dem Bildschirm gerendert
bevor ich darauf tippe.

00:40:33.115 --> 00:40:37.690
Also lassen Sie uns nur sehen, was war bei

00:40:37.690 --> 00:40:43.450
Guard Press Repeat, weil

00:40:43.450 --> 00:40:45.760
Ich möchte Ihnen zeigen, was
Die Zeichenfolgen von Tests sehen aus wie.

00:40:45.760 --> 00:40:48.085
Lassen Sie uns dies zurück.

00:40:48.085 --> 00:40:53.720
Wieder, App. WaitFor Repeat-Taste,

00:40:54.120 --> 00:41:00.805
und App. Tippen Sie auf Repeat Button.

00:41:00.805 --> 00:41:04.825
Alles klar. So jetzt tun
Ich habe das bereit?

00:41:04.825 --> 00:41:08.020
Der nächste Schritt buchstäblich
links zu tun wäre, würde ich

00:41:08.020 --> 00:41:10.480
Relaunch ein Repl erneut starten
aber für iOS dieses Mal,

00:41:10.480 --> 00:41:12.670
und alles, was ich tun werde
für iOS ist es go und

00:41:12.670 --> 00:41:15.265
Suchen Sie die Abfragen für
diese beiden Tasten.

00:41:15.265 --> 00:41:17.260
Das war's, meine Seite ist eingerichtet.

00:41:17.260 --> 00:41:19.240
Das ist alles, was Sie haben, um
tun. Das ist also nur

00:41:19.240 --> 00:41:20.860
alle anfänglichen Buy-In, die Sie benötigen.

00:41:20.860 --> 00:41:22.330
Dies ist die ganze Zeit, die Sie verbringen würden

00:41:22.330 --> 00:41:23.815
das erste Mal nur diese einrichten,

00:41:23.815 --> 00:41:25.120
und nachdem sie
super-einfach, weil

00:41:25.120 --> 00:41:26.725
jetzt, was ich gehen werde, fügen Sie einen Test hinzu.

00:41:26.725 --> 00:41:28.240
Fügen wir einen brandneuen Test hinzu.

00:41:28.240 --> 00:41:32.630
Nennen wir es jetzt Blinktest.

00:41:32.640 --> 00:41:37.180
Ich werde hierher kommen,

00:41:37.180 --> 00:41:38.890
BaseTestFixture hinzufügen.

00:41:38.890 --> 00:41:43.130
Dies braucht Plattform.

00:41:44.430 --> 00:41:49.760
Gehen Sie zu, fügen Sie dies in,

00:41:50.310 --> 00:41:54.640
Plattform, Boom. Das wars.

00:41:54.640 --> 00:41:56.950
Sie sind eingerichtet. Um einen Test zu schreiben,

00:41:56.950 --> 00:41:58.930
lassen Sie uns ein Test-Tag setzen,

00:41:58.930 --> 00:42:00.940
hat hier keine N-Einheit.

00:42:00.940 --> 00:42:02.890
Also ziehen wir in N-Einheit, danach.

00:42:02.890 --> 00:42:07.105
Also öffentliche Leere. Nennen wir es,

00:42:07.105 --> 00:42:12.760
XamDevSummitTest, weil ich
toll mit Namen. Alles klar.

00:42:12.760 --> 00:42:16.000
Also auf die neue Homepage kommen,

00:42:16.000 --> 00:42:18.970
und dann wollen Sie
gehen Sie jetzt spielen.

00:42:18.970 --> 00:42:22.240
Boom, das war's. Das heißt
meine erste Aktion. Als nächstes.

00:42:22.240 --> 00:42:23.560
Jetzt, da ich Jetzt spielen geöffnet habe,

00:42:23.560 --> 00:42:24.730
Ich bin auf der Seite Jetzt spielen.

00:42:24.730 --> 00:42:28.690
Also neu Jetzt spielen Seite. Was war es?

00:42:28.690 --> 00:42:32.890
Drücken wir also Repeat und dann
Ich will weiter handeln,

00:42:32.890 --> 00:42:38.020
und dann werde ich drücken
Shuffle-Taste. Das wars.

00:42:38.020 --> 00:42:41.740
So ihr UI-Test wie eine Art
fließen und fließen und laufen in

00:42:41.740 --> 00:42:46.510
durch und aufrechterhaltung

00:42:46.510 --> 00:42:48.520
jetzt vorwärts gehen,
denken Sie nur darüber nach.

00:42:48.520 --> 00:42:50.050
Wenn Sie nach ein paar

00:42:50.050 --> 00:42:52.240
Tage oder ein paar Monate
und Sie lesen diesen Test,

00:42:52.240 --> 00:42:53.320
Du bist wie: "Oh okay,

00:42:53.320 --> 00:42:55.510
ja, ich teste die
Funktionalität für die Zustände.

00:42:55.510 --> 00:42:57.940
Nichts ist mehrdeutig. nichts
ist seltsam, es macht alles Sinn.

00:42:57.940 --> 00:43:02.800
Es ist lesbar." ja. So ist es
ein Rahmen, den wir ziemlich viel verwenden.

00:43:02.800 --> 00:43:05.290
Es ist beliebt mit
mein Team und wir hatten

00:43:05.290 --> 00:43:08.200
einige gute Feedback-Sharing
es mit anderen Menschen.

00:43:08.200 --> 00:43:12.475
So buchstäblich
Umsetzung sieht so aus.

00:43:12.475 --> 00:43:14.935
Was hatte ich noch zu zeigen?

00:43:14.935 --> 00:43:17.485
Okay, ja. Also möchte ich
schnell wieder hierher zurückkehren.

00:43:17.485 --> 00:43:19.600
Ich habe jetzt viel davon abgedeckt
als ich darüber sprach,

00:43:19.600 --> 00:43:23.815
aber nur andere nützliche UI-Testtipps.

00:43:23.815 --> 00:43:25.570
Wieder testen Sie auf realen Geräten, wie ich bin

00:43:25.570 --> 00:43:28.135
im Moment ist es super hilfreich.

00:43:28.135 --> 00:43:30.370
Wenn Sie Haltepunkte in Ihre Tests setzen

00:43:30.370 --> 00:43:32.215
und du fragst dich, wie
, um diese Haltepunkte zu treffen.

00:43:32.215 --> 00:43:34.000
Wenn Sie also einfach doppelklicken
und einen Test durchführen,

00:43:34.000 --> 00:43:35.380
es wird diese nicht treffen.

00:43:35.380 --> 00:43:37.330
Sie klicken mit der rechten Maustaste und debuggen,

00:43:37.330 --> 00:43:39.760
und es ist dann wird es beginnen
Ihre Haltepunkte zu treffen.

00:43:39.760 --> 00:43:41.590
Ich habe Ihnen die Using-Anweisung gezeigt.

00:43:41.590 --> 00:43:45.145
Ich habe Ihnen die Testfälle gezeigt
und Kategorien.

00:43:45.145 --> 00:43:50.410
Dies sind nur andere Best Practices
die wir zu teilen versuchten,

00:43:50.410 --> 00:43:52.390
halten, dass jeder desolate

00:43:52.390 --> 00:43:54.580
unabhängig innerhalb seines Status
ist eine gute Praxis.

00:43:54.580 --> 00:43:57.370
Kettenaktivitäten nicht binden
weil angenommen, dass ein Test fehlschlägt,

00:43:57.370 --> 00:43:58.780
Sie wollen nicht wie
alles andere zum Scheitern.

00:43:58.780 --> 00:44:01.540
Sie möchten einige nützliche
Informationen, die herauskommen.

00:44:01.540 --> 00:44:03.550
Seien Sie deterministisch.

00:44:03.550 --> 00:44:06.580
Sie können Hintertüren einbauen
die Sie aufrufen können, um

00:44:06.580 --> 00:44:07.900
Ihre Apps für Dinge wie

00:44:07.900 --> 00:44:10.180
Authentifizierung oder Sie möchten
, um einen Datendienst zu markieren.

00:44:10.180 --> 00:44:13.190
Hintertüren sind
eine tolle Sache, in die man schauen sollte.

00:44:13.200 --> 00:44:16.090
Was sonst? Versuchen Sie nicht, eine Schleife zu durchlaufen.

00:44:16.090 --> 00:44:20.290
Verwenden Sie gute Behauptungen, so
assort Elemente sind sichtbar,

00:44:20.290 --> 00:44:21.430
Gewicht, dass Elemente sichtbar sind,

00:44:21.430 --> 00:44:22.630
Gewichtselement verschwunden ist.

00:44:22.630 --> 00:44:24.850
[unhörbar] eignen sich hervorragend für Animationen.

00:44:24.850 --> 00:44:26.290
Wenn Sie also
eine Übergangsanimation,

00:44:26.290 --> 00:44:27.850
weit weglegen und warten

00:44:27.850 --> 00:44:30.040
kein Element ist eine tolle Sache zu verwenden.

00:44:30.040 --> 00:44:32.320
Vermeiden Sie Thread.Sleeps.

00:44:32.320 --> 00:44:34.015
Das ist das Schlimmste, was man könnte.

00:44:34.015 --> 00:44:35.650
Setzen Sie Thread.Sleeps nicht.

00:44:35.650 --> 00:44:38.380
Auch hier, seien Sie vorsichtig, wenn Sie Schleife.

00:44:38.380 --> 00:44:40.495
Looping ist nicht dein Freund.

00:44:40.495 --> 00:44:42.220
Also ging ich ein wenig Überstunden,

00:44:42.220 --> 00:44:45.620
aber ich kann schnell
Fragen, also Fragen.

00:44:46.230 --> 00:44:49.510
Gehen Sie einfach weiter zum Mikrofon, so

00:44:49.510 --> 00:44:51.120
dass alle anderen
online können Sie auch hören.

00:44:51.120 --> 00:44:52.690
>> Wenn Sie also hintertüren erwähnt haben,

00:44:52.690 --> 00:44:54.955
Sie würden nur dann schreiben
eine Methode innerhalb Ihres Codes?

00:44:54.955 --> 00:44:57.700
>> Ja, genau. So you
diese für iOS behalten wollen,

00:44:57.700 --> 00:44:58.945
Setzen Sie sie in App-Delegat

00:44:58.945 --> 00:45:01.420
und auf Android Putting
Ihre Haupttätigkeit,

00:45:01.420 --> 00:45:03.430
und dann können Sie
derselbe Zeichenfolgenname

00:45:03.430 --> 00:45:06.470
in Ihrem Test und Sie können
tun, was Sie wollen.

00:45:06.540 --> 00:45:09.070
>> Also für die Berichte,

00:45:09.070 --> 00:45:12.280
gibt es Zukunftspläne, um
eine Visualisierung wie es zu machen,

00:45:12.280 --> 00:45:14.575
wie wir für XML-Baum haben?

00:45:14.575 --> 00:45:16.780
>> Lassen Sie uns darüber sprechen.
Kommen Sie und treffen Sie mich bei

00:45:16.780 --> 00:45:18.670
und ich liebe es, Ideen zu hören.

00:45:18.670 --> 00:45:21.670
Ich habe dieses Feedback gehört
und ich liebe es zu wissen

00:45:21.670 --> 00:45:22.780
mehr und wir können in

00:45:22.780 --> 00:45:24.895
etwas über das Tun
so etwas, ja.

00:45:24.895 --> 00:45:27.220
>> Noch eins in Ihre Basisseite,

00:45:27.220 --> 00:45:29.665
Sie haben dies zurückgegeben.

00:45:29.665 --> 00:45:31.630
Geben Sie die Seite immer falsch zurück.

00:45:31.630 --> 00:45:34.420
Müssen wir also nicht darauf warten?

00:45:34.420 --> 00:45:37.630
Wenn Sie also Daten laden
und Ihr Spinner ist vorher,

00:45:37.630 --> 00:45:38.860
gehen wir auf die Seite, haben wir

00:45:38.860 --> 00:45:40.150
etwas dafür zu tun?

00:45:40.150 --> 00:45:44.095
>> Ja. So können Sie völlig
werfen Sie es in diese Basisseite.

00:45:44.095 --> 00:45:45.850
Das war nur ein Weg
der Verwendung der Basisseite.

00:45:45.850 --> 00:45:47.110
Ich möchte nur die Macht der

00:45:47.110 --> 00:45:48.730
gemeinsame Methoden dort haben.

00:45:48.730 --> 00:45:51.310
Sie können eigentlich nur schreiben
eine Erweiterung oder wie ein Helfer,

00:45:51.310 --> 00:45:52.540
und dann so etwas wie,

00:45:52.540 --> 00:45:53.950
du weißt, dass du
eine Animation erwarten.

00:45:53.950 --> 00:45:55.990
Also einfach so sein, hey, warte
für den Spinner wegzugehen.

00:45:55.990 --> 00:45:57.415
Warten Sie also auf kein Element,

00:45:57.415 --> 00:46:00.820
und legen Sie die ID an den Spinner
oder verwenden Sie einfach die Spinnerklasse,

00:46:00.820 --> 00:46:02.890
und überprüfen Sie dann einfach
dass der Spinner

00:46:02.890 --> 00:46:05.050
weg gegangen und dann beginnen
Ihre Handlungen zu tun. ja.

00:46:05.050 --> 00:46:07.995
>> ja. Eine letzte Frage vielleicht
es ist nicht wirklich in Ihrer Nähe,

00:46:07.995 --> 00:46:09.360
aber Sie machen Screenshots.

00:46:09.360 --> 00:46:11.070
Gibt es etwas, was Sie tun können

00:46:11.070 --> 00:46:15.075
zum Abgleichen von Screenshots
mit früheren Tests wie,

00:46:15.075 --> 00:46:16.650
denn wenn Sie UI tun,

00:46:16.650 --> 00:46:18.120
Sie wollen wissen, dass
Ihre Elemente sind

00:46:18.120 --> 00:46:20.160
immer noch auf dem Bildschirm
statt Off-Screen,

00:46:20.160 --> 00:46:22.995
Ich weiß nicht, ob Sie
dies in den Berichten zu tun.

00:46:22.995 --> 00:46:25.575
>> Nein, nicht im Moment.

00:46:25.575 --> 00:46:29.440
Wieder habe ich von Menschen gehört
ein Werkzeug wollen, das dies tun könnte.

00:46:29.440 --> 00:46:30.895
Ich denke, es ist auch eine tolle Idee.

00:46:30.895 --> 00:46:32.605
Das Einzige, was ich mir vorstellen kann, ist,

00:46:32.605 --> 00:46:34.975
Wenn Sie diese Tests hochladen
zum App Center,

00:46:34.975 --> 00:46:36.685
es generiert diese Berichte für Sie.

00:46:36.685 --> 00:46:38.200
Es wird wie eine manuelle Überprüfung sein, obwohl

00:46:38.200 --> 00:46:39.910
es gibt keine automatisierte Möglichkeit, dies zu tun.

00:46:39.910 --> 00:46:42.370
Vielleicht können Sie kognitive Dienste nutzen
und bauen Sie dieses Werkzeug,

00:46:42.370 --> 00:46:43.895
und ich würde Ihnen gerne dabei helfen.

00:46:43.895 --> 00:46:44.490
>> In Ordnung. Danke.

00:46:44.490 --> 00:46:44.990
>> ja.

00:46:44.990 --> 00:46:48.790
>> Hallo, ich bemerkte, dass in
einer Ihrer Tests, die Sie

00:46:48.790 --> 00:46:52.630
hatte eine Drag-Methode mit
einige hartcodierte Kubernetes.

00:46:52.630 --> 00:46:52.900
>> ja.

00:46:52.900 --> 00:46:54.100
>> Wird Ihnen das Probleme bereiten

00:46:54.100 --> 00:46:55.180
auf einer anderen Größe als [unhörbar]?

00:46:55.180 --> 00:46:57.565
>> Es ist total und
nicht die empfohlene Methode.

00:46:57.565 --> 00:46:59.875
Es war nur für diese Demo,
Ich wollte nur wischen.

00:46:59.875 --> 00:47:01.090
Ich habe nicht einmal so gut gewischt,

00:47:01.090 --> 00:47:05.350
aber der ideale Weg, um tatsächlich
Tun Sie dies wieder Abfrage

00:47:05.350 --> 00:47:07.390
zu diesem Element und verwenden Sie
x- und y-Koordinaten

00:47:07.390 --> 00:47:09.880
weil das ein Mini-Spieler ist
und ich habe die ID dafür.

00:47:09.880 --> 00:47:11.770
So sollten Sie in
bewährte Verfahren tun,

00:47:11.770 --> 00:47:14.140
und das werde ich sein
für den eigentlichen Code tun.

00:47:14.140 --> 00:47:15.790
Ich möchte dies in Clancy pr,

00:47:15.790 --> 00:47:17.785
bereinigen, machen Sie es schöner aussehen.

00:47:17.785 --> 00:47:20.560
Bitte gehen Sie hinein und schauen Sie sich an
und geben Sie mir Feedback

00:47:20.560 --> 00:47:23.140
oder einfach hineingehen und einen Beitrag leisten
mehr Code drin. Also ja.

00:47:23.140 --> 00:47:24.310
>> Vielen Dank.

00:47:24.310 --> 00:47:27.100
>> Also und da ist ich eigentlich
denken in meinen Korrektoren sind

00:47:27.100 --> 00:47:29.500
wie ein Wischen zum Feature
wo Sie sich ein- und aussetzen können.

00:47:29.500 --> 00:47:31.015
So stellen Sie sicher, dass Sie zu ihm wischen.

00:47:31.015 --> 00:47:32.170
>> ja, Sie können zu ihm wischen.

00:47:32.170 --> 00:47:34.165
Sie können das Werkzeug wischen,

00:47:34.165 --> 00:47:36.370
nimmt oder Sie können
auf einem Element, das Sie

00:47:36.370 --> 00:47:39.010
Ziel auf oder wie ein x und y
Koordinaten, zu der Sie wechseln möchten.

00:47:39.010 --> 00:47:43.255
ja. Okay, genau wie
zwei weitere Fragen denke ich ja.

00:47:43.255 --> 00:47:44.830
>> Wir finden oft, dass
wenn wir aufnehmen

00:47:44.830 --> 00:47:47.485
UI-Tests erfordern Timeouts,

00:47:47.485 --> 00:47:48.820
dass sie hervorragend arbeiten

00:47:48.820 --> 00:47:50.950
lokale Maschinen und
unser Build-Server, aber sie

00:47:50.950 --> 00:47:56.185
sich ständig abwesend fühlte oder
Gibt es einen Weg, um das zu umgehen?

00:47:56.185 --> 00:47:58.105
>> Lasst uns- kommen sie mir am Stand treffen.

00:47:58.105 --> 00:48:00.325
Ich liebe es zu sehen, was genau
ist im Gange. ja.

00:48:00.325 --> 00:48:05.800
>> Ist Xamarin UI Tests als
Rahmen aktiv gepflegt-

00:48:05.800 --> 00:48:06.130
>> Ja.

00:48:06.130 --> 00:48:08.035
>> -weil ich
etwas anderes gehört.

00:48:08.035 --> 00:48:10.495
>> Nein, es wird
aktiv daran gearbeitet haben.

00:48:10.495 --> 00:48:12.985
Es wurde gerade auf UI-Test aktualisiert

00:48:12.985 --> 00:48:16.570
3.0, weil wir jetzt
NUnit-Unterstützung 3.0.

00:48:16.570 --> 00:48:18.520
Also ja, sie sind aktiv
daran zu arbeiten. ja.

00:48:18.520 --> 00:48:19.015
>> Vielen Dank.

00:48:19.015 --> 00:48:21.565
>> Okay. Das sind alle Fragen
Ich kann jetzt nehmen.

00:48:21.565 --> 00:48:22.660
Ich werde am Stand sein,

00:48:22.660 --> 00:48:23.980
so kommen Sie bitte und finden Sie mich und

00:48:23.980 --> 00:48:25.585
fragen Sie mir alle anderen Fragen
die Sie haben.

00:48:25.585 --> 00:48:28.240
Ich würde gerne jeden UI-Testcode ansehen
dass Sie Hilfe brauchen,

00:48:28.240 --> 00:48:30.320
aber vielen Dank.

