WEBVTT

00:00:00.000 --> 00:00:02.790
Не происходит перезапуска
мой таймер, чтобы я знал, где я на.

00:00:02.790 --> 00:00:06.030
Привет всем. Добрый день.

00:00:06.030 --> 00:00:10.170
Как обед? Все наслаждались
этот гигантский соленья? Я знаю, что знал.

00:00:10.170 --> 00:00:12.315
Да, классно.

00:00:12.315 --> 00:00:17.565
Таким образом, эта сессия
о U (I) Тестирование,

00:00:17.565 --> 00:00:19.935
поэтому, вы U (I) тест?

00:00:19.935 --> 00:00:22.950
Поэтому, прежде чем я начну, это
мой любимый вопрос в мире.

00:00:22.950 --> 00:00:24.705
Это просто.

00:00:24.705 --> 00:00:29.175
Сколько людей пишут
Тесты? Показать руки.

00:00:29.175 --> 00:00:31.830
Все на потоке,
это довольно много рук.

00:00:31.830 --> 00:00:34.305
Я удивлен, я очень счастлив.

00:00:34.305 --> 00:00:38.290
Итак, как многие из вас U (I) тест?

00:00:39.130 --> 00:00:41.705
Неплохо, это круто.

00:00:41.705 --> 00:00:44.060
Ну, так что эта сессия в основном,

00:00:44.060 --> 00:00:48.635
и поэтому я не собираюсь делать
основы работы теста U(I),

00:00:48.635 --> 00:00:51.350
есть куча хорошего содержания
там уже для этого.

00:00:51.350 --> 00:00:54.185
Это супер просто, это
изучить U (I) тест.

00:00:54.185 --> 00:00:56.735
Рамки я буду
говорить о сегодняшнем дне

00:00:56.735 --> 00:00:58.070
буквально только что сделал для

00:00:58.070 --> 00:01:00.740
сделать U(I) тест супер
простой и супер большой.

00:01:00.740 --> 00:01:04.820
Итак, о чем мы говорим сегодня
является передовой практикой и как

00:01:04.820 --> 00:01:08.000
написать то, что
говорили о многом

00:01:08.000 --> 00:01:11.195
в основной сегодня,
кросс-платформенный тест U(I).

00:01:11.195 --> 00:01:14.435
Так кто я?

00:01:14.435 --> 00:01:16.220
Я почти уверен, что меня никто не знает.

00:01:16.220 --> 00:01:19.715
Я не так знаменит, как
много, но я Sweeky.

00:01:19.715 --> 00:01:24.250
Я работаю в том, что мы называем
Консультационная группа клиентов DevOps,

00:01:24.250 --> 00:01:25.950
и я в подмножестве, которое называется

00:01:25.950 --> 00:01:28.570
Мобильная консультативная группа по работе с клиентами.

00:01:28.730 --> 00:01:31.260
Мы действительно классные люди,

00:01:31.260 --> 00:01:32.905
мы любим Xamarin, мы любим Мобильный,

00:01:32.905 --> 00:01:35.000
и мы работаем в принятии клиентов

00:01:35.000 --> 00:01:37.310
счастливы, и мы работаем в принятии
наши продукты лучше.

00:01:37.310 --> 00:01:39.710
Таким образом, мы едем много обратной связи,

00:01:39.710 --> 00:01:42.025
так что все, что вы хотите сказать,

00:01:42.025 --> 00:01:44.270
Мобильный вы хотите обсудить,

00:01:44.270 --> 00:01:47.015
кроссовки, независимо,
просто иди найди меня.

00:01:47.015 --> 00:01:50.240
Я работаю в офисе в Сан-Франциско.

00:01:50.240 --> 00:01:53.575
Я известен код для конфет,

00:01:53.575 --> 00:01:56.055
так что если вы когда-нибудь хотите меня
писать U(I) тесты,

00:01:56.055 --> 00:01:58.170
Вы знаете, как подкупить меня, и я

00:01:58.170 --> 00:02:01.660
твердолобый Microsoft и
твердолобый вентилятор Xamarin.

00:02:03.380 --> 00:02:05.670
Теперь, когда ты знаешь, кто я,

00:02:05.670 --> 00:02:08.070
следуйте за мной по щебетать, быть моим другом.

00:02:08.070 --> 00:02:10.110
Давайте перейдем к тестированию.

00:02:10.110 --> 00:02:13.035
Итак, тест Xamarin U(I).

00:02:13.035 --> 00:02:15.045
Для тех, кто не знаком,

00:02:15.045 --> 00:02:21.030
это NUnit основе единицы
рамки тестирования,

00:02:21.030 --> 00:02:24.435
но в C Sharp, и это позволяет
вы, чтобы написать U (I) тест.

00:02:24.435 --> 00:02:27.434
Он предназначен для использования
с мобильными платформами,

00:02:27.434 --> 00:02:30.505
так что ваши приложения не всегда
должны быть Xamarin приложение,

00:02:30.505 --> 00:02:32.690
так что они могут быть ReactNative App,
они могут быть коренными жителями,

00:02:32.690 --> 00:02:33.980
Android или iOS App,

00:02:33.980 --> 00:02:36.425
Вы все еще можете написать
U (I) тест для них.

00:02:36.425 --> 00:02:39.420
Если вы знакомы
с тем, как работает NUnit,

00:02:39.420 --> 00:02:42.065
их синтаксис или тест будет
выглядят довольно знакомы для вас.

00:02:42.065 --> 00:02:43.280
Итак, есть тестовый тег арматуры,

00:02:43.280 --> 00:02:46.220
есть тестовый тег, вы
делать некоторые настройки перед тестом,

00:02:46.220 --> 00:02:48.380
Вы запустите тест, а затем вы

00:02:48.380 --> 00:02:51.140
может иметь то, что
происходит после теста.

00:02:51.140 --> 00:02:54.515
Пожалуйста, прямолинейно,
Тест Xamarin U (I),

00:02:54.515 --> 00:02:57.620
Вы можете запустить эти тесты
локально, а затем, если вы хотите,

00:02:57.620 --> 00:02:59.480
Вы можете использовать приложение
серверы центральных тестовых и

00:02:59.480 --> 00:03:02.155
затем запустите тесты
на наших лабораториях устройства.

00:03:02.155 --> 00:03:06.020
Он также очень хорошо интегрируется
с конвейерами CICD,

00:03:06.020 --> 00:03:08.825
которая является моей любимой частью
всего процесса.

00:03:08.825 --> 00:03:12.000
Таким образом, описание
говорить много

00:03:12.000 --> 00:03:15.140
о поп шаблоне объекта страницы.

00:03:15.140 --> 00:03:17.510
Так что же это такое?

00:03:17.510 --> 00:03:20.765
Так что давайте поговорим об этом так.

00:03:20.765 --> 00:03:25.550
Мобильные приложения обычно поставляются с
кучу различных взглядов,

00:03:25.550 --> 00:03:27.740
когда мы на самом деле пишем приложения Xamarin,

00:03:27.740 --> 00:03:30.470
у нас есть куча
просмотров, если это MVVM,

00:03:30.470 --> 00:03:32.060
у вас есть свои взгляды
и у вас есть код

00:03:32.060 --> 00:03:33.830
за для каждого вида, это и что,

00:03:33.830 --> 00:03:35.850
так простая концепция, думаю,

00:03:35.850 --> 00:03:38.400
вашего приложения время кучу
разных страниц,

00:03:38.400 --> 00:03:40.560
поэтому, когда вы хотите написать

00:03:40.560 --> 00:03:42.930
U (I) тесты с
шаблон объекта страницы,

00:03:42.930 --> 00:03:44.450
мы собираемся лечить каждую страницу

00:03:44.450 --> 00:03:47.540
индивидуально, как
свой собственный независимый класс.

00:03:47.540 --> 00:03:51.035
Таким образом, элементы на этой странице
жить в этом классе,

00:03:51.035 --> 00:03:52.730
взаимодействия, с помощью исправных

00:03:52.730 --> 00:03:55.145
эти элементы живут
в том же классе.

00:03:55.145 --> 00:03:57.790
Так что если у вас есть кнопка на странице,

00:03:57.790 --> 00:04:01.880
весь код на странице
класс a был бы запросом на

00:04:01.880 --> 00:04:03.320
как система найдет

00:04:03.320 --> 00:04:06.410
что кнопка и любой метод
взаимодействовать с кнопкой.

00:04:06.410 --> 00:04:10.250
Так нажмите на кнопку
или если это список,

00:04:10.250 --> 00:04:11.485
так салфетки по списку,

00:04:11.485 --> 00:04:13.790
все эти методы для
что одна страница жить там.

00:04:13.790 --> 00:04:15.125
Страница b для вашего приложения,

00:04:15.125 --> 00:04:18.215
отдельный класс, в целом
имеет свои собственные вещи.

00:04:18.215 --> 00:04:23.030
Основная идея, лежащая в основе
это тот факт, что,

00:04:23.030 --> 00:04:25.285
так как вы отделяетесь
из всех этих страниц,

00:04:25.285 --> 00:04:27.275
это очень легко поддерживать.

00:04:27.275 --> 00:04:29.840
Так предположим, что вы идете в
и вы внести изменения

00:04:29.840 --> 00:04:32.710
просто, чтобы, как, может быть,
страницы настроек в приложении,

00:04:32.710 --> 00:04:34.310
все, что вам нужно сделать, это пойти

00:04:34.310 --> 00:04:36.035
на страницу настроек
вашего теста и просто

00:04:36.035 --> 00:04:37.475
обновить значения там, и это

00:04:37.475 --> 00:04:39.605
ваш тест вернулся к запуску снова.

00:04:39.605 --> 00:04:41.460
Так что это супер легко поддерживать,

00:04:41.460 --> 00:04:43.620
супер легко масштабировать,

00:04:43.620 --> 00:04:45.990
, а затем приходит моя лучшая любимая часть

00:04:45.990 --> 00:04:48.490
этого шаблона он
делает через платформу.

00:04:48.490 --> 00:04:51.775
Так что та же страница может
существуют на iOS или Android.

00:04:51.775 --> 00:04:56.005
Тогда, что может быть возможным
нет дифференциирующего фактора здесь?

00:04:56.005 --> 00:04:58.790
На Android кнопка могла

00:04:58.790 --> 00:05:01.260
отдельный запрос, а затем также

00:05:01.260 --> 00:05:02.460
может быть, есть немного

00:05:02.460 --> 00:05:04.110
нет сенсорного поведения, которое отличается,

00:05:04.110 --> 00:05:07.535
так что вы можете обрабатывать, что в вашем коде
с проверками на устройстве.

00:05:07.535 --> 00:05:09.260
Итак, еще раз, супер простой,

00:05:09.260 --> 00:05:10.520
супер легко настроить,

00:05:10.520 --> 00:05:12.965
и мы увидим больше об этом сейчас.

00:05:12.965 --> 00:05:15.230
Так что я говорила

00:05:15.230 --> 00:05:17.760
о визуально просто
воображая все это.

00:05:17.760 --> 00:05:20.485
Так что это разные
страницы вашего приложения,

00:05:20.485 --> 00:05:23.855
взять каждую страницу и повернуть
каждая страница в класс,

00:05:23.855 --> 00:05:26.420
это буквально, как первые шаги

00:05:26.420 --> 00:05:29.075
написания страницы
объект шаблон начинается.

00:05:29.075 --> 00:05:33.840
Так что если вы хотите быть
немного больше фантазии об этом,

00:05:33.840 --> 00:05:35.855
когда вы закончите настройку

00:05:35.855 --> 00:05:37.130
весь шаблон архитектуры и

00:05:37.130 --> 00:05:38.440
когда вы вернетесь и
Вы смотрите на ваши тесты,

00:05:38.440 --> 00:05:39.650
никогда не будет

00:05:39.650 --> 00:05:41.660
момент, который вы чувствуете, как,
"О, что я написала?

00:05:41.660 --> 00:05:43.280
Что это значит?
Там будет

00:05:43.280 --> 00:05:46.720
прямая корреляция между
приложение и тесты.

00:05:46.720 --> 00:05:51.120
Так что это просто делает это так много
приятнее писать тесты,

00:05:51.120 --> 00:05:54.710
Я чувствую, что он просто поощряет
все резервировать,

00:05:54.710 --> 00:05:56.555
поддерживать, и писать хорошие U (I) тест,

00:05:56.555 --> 00:05:59.065
что, на мне кажется, очень и очень важно.

00:05:59.065 --> 00:06:01.020
Если я могу, я скажу это,

00:06:01.020 --> 00:06:02.395
Я говорю это все время,

00:06:02.395 --> 00:06:05.900
но мы живем в эпоху
мобильные приложения, и мы живем в эпоху

00:06:05.900 --> 00:06:07.130
создания клиентов и

00:06:07.130 --> 00:06:09.530
ваши пользователи действительно счастливы
с помощью мобильных приложений.

00:06:09.530 --> 00:06:11.360
Если вы не U (I) тестирование их,

00:06:11.360 --> 00:06:12.890
есть минимальная подмножество

00:06:12.890 --> 00:06:15.890
10 процентов, которые не получают
лучший визуальный вид

00:06:15.890 --> 00:06:17.600
ваше приложение только потому, что
Вы никогда не проверяли его на

00:06:17.600 --> 00:06:20.900
что один устаревший телефон
что кто-то использует.

00:06:20.900 --> 00:06:22.985
Вот как вы можете
рычаги U (I) тесты

00:06:22.985 --> 00:06:24.680
и Apps центр и
убедитесь, что ваше приложение

00:06:24.680 --> 00:06:26.390
выглядит красиво и работает очень хорошо

00:06:26.390 --> 00:06:28.930
на всех различных платформах
которые пытаются поддержать.

00:06:28.930 --> 00:06:34.940
Так что следующая удивительная вещь о
шаблон объекта страницы,

00:06:34.940 --> 00:06:38.615
если вы написали U(I) тест
до или если вы не сделали,

00:06:38.615 --> 00:06:41.645
это в основном то, что
простой U (I) тест выглядит.

00:06:41.645 --> 00:06:43.100
Итак, у вас есть, как я уже сказал,

00:06:43.100 --> 00:06:44.630
это очень похоже на
шаблон NUnit,

00:06:44.630 --> 00:06:47.415
что вы должны настроить, и
у вас есть фактический тест,

00:06:47.415 --> 00:06:48.745
и в тесте, если вы посмотрите,

00:06:48.745 --> 00:06:51.725
у него есть очень длинная линия, которая говорит:

00:06:51.725 --> 00:06:54.260
Приложение. Нажмите, а затем он пытается

00:06:54.260 --> 00:06:57.685
найти элемент на
экран по идентификатору.

00:06:57.685 --> 00:07:01.190
Красота использования
шаблон объекта страницы,

00:07:01.190 --> 00:07:03.680
это делает его немного больше
общий в том смысле, что,

00:07:03.680 --> 00:07:05.705
запомнить эти страницы
Я говорила о том,

00:07:05.705 --> 00:07:09.370
он буквально становится
на странице входа,

00:07:09.890 --> 00:07:12.450
выполнить действие входа,

00:07:12.450 --> 00:07:14.480
, а затем использовать это имя пользователя
и пароль.

00:07:14.480 --> 00:07:17.210
Так что это делает его легче читать также.

00:07:17.210 --> 00:07:19.520
Так что еще раз, если кто-то, кто
не сделали тестирование раньше,

00:07:19.520 --> 00:07:21.080
не совсем: "О,

00:07:21.080 --> 00:07:23.470
Боже мой, как я собираюсь
написать тест C Sharp?

00:07:23.470 --> 00:07:25.275
Они могут просто прийти
и быть, как: "О,

00:07:25.275 --> 00:07:26.610
это просто читает, как английский,

00:07:26.610 --> 00:07:27.915
это не так трудно понять,

00:07:27.915 --> 00:07:29.940
Я знаю, что происходит в этом тесте ".

00:07:29.940 --> 00:07:34.470
Так что я могу продолжать идти
и дальше, как это,

00:07:34.470 --> 00:07:36.325
но это не весело.

00:07:36.325 --> 00:07:39.305
То, что я на самом деле собираюсь сделать сейчас, это,

00:07:39.305 --> 00:07:41.420
Я собираюсь переключиться и на самом деле

00:07:41.420 --> 00:07:43.820
написать тест кнопки объекта страницы
для вас прямо сейчас,

00:07:43.820 --> 00:07:47.100
потому что кто не
как некоторые живые кодирования?

00:07:47.930 --> 00:07:52.590
Так что пока я настраиваю эту штуку.

00:07:52.590 --> 00:07:55.760
Так что это стало
стороны хобби моего.

00:07:55.760 --> 00:07:59.815
Так что это приложение, которое
мой хороший друг Джеймс Клэнси,

00:07:59.815 --> 00:08:03.660
если вы помните его от
Xamarin развиваться 2016,

00:08:03.660 --> 00:08:06.170
он дал мой любимый разговор
на Async ждут,

00:08:06.170 --> 00:08:08.210
определенно обналичены из
видео на YouTube.

00:08:08.210 --> 00:08:11.490
Но так, он был
работает над его gmusic,

00:08:11.490 --> 00:08:14.870
некоторые Google Music кредита, и он
переписывал свой Google,

00:08:14.870 --> 00:08:16.730
так что первоначально это было только для iOS,

00:08:16.730 --> 00:08:18.430
он переписывался для фирм,

00:08:18.430 --> 00:08:20.640
и он с открытым исходным кодом
проект он учит его

00:08:20.640 --> 00:08:23.700
каждую среду, вы
должны только проверить его.

00:08:23.700 --> 00:08:26.150
Я заметила, что он писал

00:08:26.150 --> 00:08:27.840
все это сетка Xamarin Формы оценка,

00:08:27.840 --> 00:08:29.985
но угадайте, что, он не делал,

00:08:29.985 --> 00:08:32.120
Тестирование uI, любое из этого.

00:08:32.120 --> 00:08:36.995
Так как мой вклад в
сообщество с открытым исходным кодом,

00:08:36.995 --> 00:08:39.410
теперь мы напишем UI
тесты для Клэнси,

00:08:39.410 --> 00:08:42.990
и Клэнси, если вы
смотреть, добро пожаловать.

00:08:43.490 --> 00:08:48.370
Поэтому, прежде чем я начну,

00:08:48.860 --> 00:08:51.495
так что еще раз, это советы и приемы,

00:08:51.495 --> 00:08:53.030
так что я собираюсь дать
Вы советы и приемы.

00:08:53.030 --> 00:08:56.630
Совет номер 1, я всегда бы
предложить тестирование на реальных устройствах.

00:08:56.630 --> 00:08:58.340
Таким образом, вы можете увидеть право
теперь, но на этом столе,

00:08:58.340 --> 00:09:01.290
Я на самом деле есть значок на
устройство iOS подключено,

00:09:01.290 --> 00:09:03.305
и я зеркальное отражение экрана
это для вас прямо сейчас.

00:09:03.305 --> 00:09:05.850
Так что это то, что приложение
похоже, прямо сейчас,

00:09:05.850 --> 00:09:07.380
так что если вы получите в,

00:09:07.380 --> 00:09:08.850
Вы увидите список песен,

00:09:08.850 --> 00:09:10.905
Вы можете скользить вверх,

00:09:10.905 --> 00:09:15.450
и вы можете видеть это хорошее
мало сейчас играет экран.

00:09:15.450 --> 00:09:17.295
Это все, что у него есть,

00:09:17.295 --> 00:09:18.990
и если вы проведите пальцем в сторону,

00:09:18.990 --> 00:09:21.195
посмотрите на этот красивый
градиент, что у него есть,

00:09:21.195 --> 00:09:24.015
и вы можете посмотреть на
меню боковой навигации.

00:09:24.015 --> 00:09:26.285
Хорошо. Так что это, насколько он получил,

00:09:26.285 --> 00:09:29.325
так что давайте немного U(I)
тесты, написанные для этого.

00:09:29.325 --> 00:09:33.745
Так как вы можете просто
увидеть мое устройство iOS здесь,

00:09:33.745 --> 00:09:35.665
Теперь я собираюсь начать с iOS.

00:09:35.665 --> 00:09:38.960
Это U(I) тестовый проект, который
Вы видите слева здесь,

00:09:38.960 --> 00:09:42.850
это буквально то, что вы
получить, когда я делаю право нажмите кнопку,

00:09:42.850 --> 00:09:49.120
"Добавить", "Новый проект", и я выбираю
если моя вещь приходит, там мы идем.

00:09:49.120 --> 00:09:50.955
Так что, если я выберу U(I) тестовый проект,

00:09:50.955 --> 00:09:54.260
это пустой шаблон
код, который вы получаете.

00:09:54.260 --> 00:09:55.910
Я вообще ничего не сделал,

00:09:55.910 --> 00:09:58.505
это как, как вы получите его.

00:09:58.505 --> 00:10:00.135
Все, что я сделал, это.

00:10:00.135 --> 00:10:01.605
в инициализаторе приложения,

00:10:01.605 --> 00:10:05.190
Я только что положил в части
туда, где APK для

00:10:05.190 --> 00:10:07.160
Android устройство строится для

00:10:07.160 --> 00:10:09.730
и я положил в синтезе на моем устройстве,

00:10:09.730 --> 00:10:12.275
Я положил в комплект ID
для приложения iOS.

00:10:12.275 --> 00:10:15.680
Так что это все, что вам нужно
сделать, чтобы начать работу.

00:10:15.680 --> 00:10:19.330
Таким образом, чтобы убедиться, что я
ничего не сломал,

00:10:19.330 --> 00:10:24.340
давайте приложение работает
потому что это шаг номер 1.

00:10:24.340 --> 00:10:26.795
Итак, давайте наберем iOS,

00:10:26.795 --> 00:10:29.510
давайте, что тест работает,
так шаблон объекта страницы.

00:10:29.510 --> 00:10:30.955
Как работает шаблон,

00:10:30.955 --> 00:10:34.070
он основан на четырех основных страницах.

00:10:34.070 --> 00:10:35.820
Если бы вы были пойти в

00:10:35.820 --> 00:10:40.580
наш репозиторий GitHub
где у нас есть эта установка,

00:10:40.580 --> 00:10:42.140
есть образец там,

00:10:42.140 --> 00:10:43.610
у нас есть вики, что

00:10:43.610 --> 00:10:46.190
снова проходит через все
что я обсуждаю прямо сейчас.

00:10:46.190 --> 00:10:47.385
Так что если вы забудете,

00:10:47.385 --> 00:10:49.055
просто зайдите и прочитайте.

00:10:49.055 --> 00:10:51.165
Но буквально, все U (Я),

00:10:51.165 --> 00:10:53.179
все страницы шаблона
могут быть инкапсулированы

00:10:53.179 --> 00:10:55.790
на эти четыре страницы, которые
Я упоминала там.

00:10:55.790 --> 00:10:58.465
Этот менеджер, базовый тестовый прибор,

00:10:58.465 --> 00:11:01.640
базовая страница и запрос платформы.

00:11:05.330 --> 00:11:07.710
К сожалению, что я сделала?

00:11:07.710 --> 00:11:10.060
Есть ли у меня сбой теста?

00:11:15.200 --> 00:11:17.385
Ладно, я собираюсь
таких для Android,

00:11:17.385 --> 00:11:21.380
только на некоторое время, и получить этот работает.

00:11:21.380 --> 00:11:24.960
Мои устройства просто отключить.

00:11:31.590 --> 00:11:37.630
Мы достали. Кто будет
подключить это резервное копирование. Хорошо.

00:11:37.630 --> 00:11:41.605
Таким образом, у нас есть наш Repl на стороне,

00:11:41.605 --> 00:11:43.870
которые мы будем использовать для запроса для
элементы на экране,

00:11:43.870 --> 00:11:45.745
у нас есть мое приложение на фронте.

00:11:45.745 --> 00:11:49.150
Но прежде чем я сделаю что-либо из этого происходит
вернуться к шаблону объекта страницы.

00:11:49.150 --> 00:11:51.310
Итак, эти четыре базовые страницы.

00:11:51.310 --> 00:11:53.830
Изо дня в день, я просто прийти и просто

00:11:53.830 --> 00:11:56.170
буквально просто пойти "Файл новый"
и копировать на этих страницах.

00:11:56.170 --> 00:11:59.470
Но если вы хотите быть
супер удобно для вас,

00:11:59.470 --> 00:12:04.075
у нас есть пакет NuGet
что вы можете импортировать в,

00:12:04.075 --> 00:12:05.800
и все, что делает это просто авто

00:12:05.800 --> 00:12:07.840
вводит эти четыре страницы
что я уже говорил,

00:12:07.840 --> 00:12:11.845
BaseTest, BasePage,
Платформькеи, и AppManager.

00:12:11.845 --> 00:12:14.350
Он просто добавляет, что в
автоматически для вас.

00:12:14.350 --> 00:12:15.730
Так что я собираюсь сделать это.

00:12:15.730 --> 00:12:17.530
Если вы заметили, раз, два,

00:12:17.530 --> 00:12:20.260
три, четыре; четыре страницы добавляются в.

00:12:20.260 --> 00:12:22.030
Давайте посмотрим, что каждый из них выглядит как

00:12:22.030 --> 00:12:24.040
мелочи у нас есть
чтобы установить там.

00:12:24.040 --> 00:12:30.925
Так AppManager превратится в
новый AppInitializer.

00:12:30.925 --> 00:12:33.970
Все AppManager буквально
делать это просто говорю

00:12:33.970 --> 00:12:35.560
рамки это где

00:12:35.560 --> 00:12:38.305
Android приложение есть и это
где находится приложение iOS.

00:12:38.305 --> 00:12:40.840
Так как я уже был набор
в этом коде здесь,

00:12:40.840 --> 00:12:44.680
Я просто собираюсь скопировать часть
потому что я не хочу, чтобы ввести это

00:12:44.680 --> 00:12:48.820
снова, с этим здесь.

00:12:48.820 --> 00:12:51.340
Так что если вы делаете
это, еще один совет,

00:12:51.340 --> 00:12:53.770
как на Windows, так и на Mac,

00:12:53.770 --> 00:12:56.035
Вы можете право-нажмите здесь
и добавить проект приложения.

00:12:56.035 --> 00:12:57.985
Это будет подключиться к решениям,

00:12:57.985 --> 00:12:59.380
если вы делаете приложение Xamarin,

00:12:59.380 --> 00:13:02.530
и у вас есть ваше решение
с UITest бок о бок.

00:13:02.530 --> 00:13:05.365
Вы можете подключить их к
работать друг с другом.

00:13:05.365 --> 00:13:11.410
Я обычно избегаю этого
главным образом потому, что иногда он может

00:13:11.410 --> 00:13:13.810
занять несколько минут, если это

00:13:13.810 --> 00:13:17.800
действительно большое приложение для того, чтобы начать
потому что он восстановит приложение,

00:13:17.800 --> 00:13:21.370
развернуть его на устройстве, и
затем начать тест для вас.

00:13:21.370 --> 00:13:23.635
Мне просто нравится более быстрое время оборота,

00:13:23.635 --> 00:13:25.420
так что я обычно просто сделать

00:13:25.420 --> 00:13:27.250
уверен, что приложения уже
установлен на моем устройстве,

00:13:27.250 --> 00:13:28.420
а потом я начинаю писать тесты.

00:13:28.420 --> 00:13:33.500
Это круто маленький совет, они
может помочь вам иногда.

00:13:33.840 --> 00:13:36.730
Позволь мне затащить это сюда. Хорошо.

00:13:36.730 --> 00:13:40.810
Так что все, что я сделал в этом снова
просто положить в путь, где

00:13:40.810 --> 00:13:45.595
APK и установленные
мобильный идентификатор для моего приложения.

00:13:45.595 --> 00:13:47.980
Теперь я могу избавиться от AppInitializer,

00:13:47.980 --> 00:13:49.705
Мне это больше не нужно.

00:13:49.705 --> 00:13:53.350
Так что давайте удаляем. Следующий шаг.

00:13:53.350 --> 00:13:55.585
Мы сделали AppInitializer.

00:13:55.585 --> 00:13:59.335
Мы должны теперь прийти и давайте
взгляните на BasePage.

00:13:59.335 --> 00:14:00.640
Так BasePage.

00:14:00.640 --> 00:14:02.650
Таким образом, каждая страница, что я
говорил о,

00:14:02.650 --> 00:14:03.850
как каждый класс страница,

00:14:03.850 --> 00:14:05.605
так что каждая страница собирается
унаследовать это.

00:14:05.605 --> 00:14:07.390
Все это делает это предоставляет вам

00:14:07.390 --> 00:14:09.685
с android и на iOS.

00:14:09.685 --> 00:14:11.980
Так что это, как вы можете сделать
что кросс-платформенный расщепления

00:14:11.980 --> 00:14:13.810
о чем я говорила.

00:14:13.810 --> 00:14:16.390
Еще одна классная вещь, которая
BasePage делает для

00:14:16.390 --> 00:14:18.715
Вы это занимает бесплатный скриншот.

00:14:18.715 --> 00:14:21.295
Так что если вы хотите запустить
эти тесты на App Center,

00:14:21.295 --> 00:14:23.830
как правило, у вас нет
скриншоты в тесте,

00:14:23.830 --> 00:14:25.030
если вы просто загрузите тест,

00:14:25.030 --> 00:14:26.860
Вы не собираетесь получить
хороший результат теста.

00:14:26.860 --> 00:14:28.330
Чтобы сделать жизнь легкой для вас,

00:14:28.330 --> 00:14:30.610
у нас есть AssertOnPage.

00:14:30.610 --> 00:14:33.250
Это бесплатно. Он делает это
автоматически на каждой странице.

00:14:33.250 --> 00:14:35.290
Таким образом, на каждой странице, что
наследует BasePage,

00:14:35.290 --> 00:14:37.600
это автоматически
собирается проверить: "Эй,

00:14:37.600 --> 00:14:40.434
это на странице я ожидал?

00:14:40.434 --> 00:14:42.820
Теперь, вы бы интересно, как
будет ли система знать или

00:14:42.820 --> 00:14:45.190
как мы проверяем это
на странице она должна быть.

00:14:45.190 --> 00:14:47.200
Вот что это волшебство
маленькая вещь и

00:14:47.200 --> 00:14:49.780
четвертый файл под названием Платформа Кевера.

00:14:49.780 --> 00:14:52.660
Так что это то, что мы используем в

00:14:52.660 --> 00:14:54.010
этот шаблон, чтобы убедиться, что вы

00:14:54.010 --> 00:14:55.840
на странице вы должны быть.

00:14:55.840 --> 00:14:58.315
Например, если вы
на странице входа,

00:14:58.315 --> 00:15:01.060
скорее всего, некоторые люди
как правило, есть слово

00:15:01.060 --> 00:15:03.700
войти или как войти на этой странице,

00:15:03.700 --> 00:15:05.440
Вы можете просто использовать, что
в качестве платформы лоток

00:15:05.440 --> 00:15:07.180
чтобы убедиться, что вы
на странице, как ожидается,,

00:15:07.180 --> 00:15:09.100
Так что просто что-то
к этой странице.

00:15:09.100 --> 00:15:10.870
Так что вы знаете наверняка, хорошо,

00:15:10.870 --> 00:15:12.490
Я на странице я
ожидается, и я

00:15:12.490 --> 00:15:14.665
может выполнять действия на этой странице.

00:15:14.665 --> 00:15:17.455
Хорошая часть раз это
проверяет, что вы находитесь на этой странице,

00:15:17.455 --> 00:15:18.850
он принимает бесплатный скриншот для вас.

00:15:18.850 --> 00:15:21.325
Так что это как на этой странице.

00:15:21.325 --> 00:15:24.415
Хорошо. Так что это
что делает BasePage.

00:15:24.415 --> 00:15:29.575
BaseTestFixtures - это каждый тест
собирается унаследовать это.

00:15:29.575 --> 00:15:32.050
Тот же процесс. Так что они
предоставление тех, на

00:15:32.050 --> 00:15:34.870
ioOS и на Android значения здесь.

00:15:34.870 --> 00:15:37.870
Опять же, иногда
некоторые недостатки в приложении, которые могут

00:15:37.870 --> 00:15:41.620
по умолчанию немного
между iOS и Android.

00:15:41.620 --> 00:15:43.780
Таким образом, в рамках ваших тестов, вы
может иметь разрыв и

00:15:43.780 --> 00:15:46.870
недостаток с использованием этих значений.

00:15:46.870 --> 00:15:50.035
Буквально, все, что он делает, это он хватает

00:15:50.035 --> 00:15:52.735
значение от AppManager
и запускает приложение для вас.

00:15:52.735 --> 00:15:54.580
Вот и все. Это супер просто,

00:15:54.580 --> 00:15:57.860
ничего слишком сложного, ничего
слишком фантазии происходит здесь.

00:15:57.870 --> 00:16:02.140
Последним является сам тест.

00:16:02.140 --> 00:16:06.160
Так вот как
первоначальный тест выглядит так:

00:16:06.160 --> 00:16:08.610
но если вы заметили,
в тестовом матче,

00:16:08.610 --> 00:16:11.580
мы уже делаем, как и все
эти пометки вещи там.

00:16:11.580 --> 00:16:13.470
Таким образом, мы можем похудеть весь тест,

00:16:13.470 --> 00:16:15.060
ему не нужны все эти значения.

00:16:15.060 --> 00:16:21.220
Что он начнет искать
как что-то вроде этого.

00:16:21.220 --> 00:16:26.365
Так что ваш тест будет буквально
просто наследовать BaseTestFixture.

00:16:26.365 --> 00:16:27.970
Опять же, мы проходим в платформе,

00:16:27.970 --> 00:16:30.775
чтобы он знал, на какой платформе работать.

00:16:30.775 --> 00:16:34.450
Таким образом, Repl является
читать только эваль петли,

00:16:34.450 --> 00:16:36.685
что привело к запросу
элементы на экране.

00:16:36.685 --> 00:16:38.935
Таким образом, вы можете иметь тест
, что просто запускает, что,

00:16:38.935 --> 00:16:40.960
и тогда у меня есть еще один тест
уже написано в

00:16:40.960 --> 00:16:44.155
здесь, что идет на главную страницу,

00:16:44.155 --> 00:16:46.750
как на главной странице, что
приложения на прямо сейчас.

00:16:46.750 --> 00:16:48.355
Позвольте мне подтянуть приложение снова.

00:16:48.355 --> 00:16:52.690
Он будет салфетки, и он будет
перейдите во вкладку «Настройки».

00:16:52.690 --> 00:16:57.490
Так просто тест просто, чтобы убедиться,
Я ничего не испортил.

00:16:57.490 --> 00:16:58.765
Так что тест есть.

00:16:58.765 --> 00:17:02.470
Давайте посмотрим на то, что
заполненная страница выглядит так.

00:17:02.470 --> 00:17:04.495
Мы будем записывать
этой странице, так что не волнуйтесь.

00:17:04.495 --> 00:17:08.540
Так что ходить через то, что ожидать.

00:17:09.060 --> 00:17:12.745
Вот как выглядит страница.

00:17:12.745 --> 00:17:16.150
Несколько советов здесь. Чужая вещь

00:17:16.150 --> 00:17:19.855
Запрос Word делает
жизнь намного приятнее.

00:17:19.855 --> 00:17:24.145
Поэтому, когда вы настраиваете
различные кнопки на экране,

00:17:24.145 --> 00:17:25.930
Вы можете просто сделать запрос,

00:17:25.930 --> 00:17:28.450
или вы даже можете сделать это
в причудливый маленький фанк.

00:17:28.450 --> 00:17:30.190
Так что это прохладный маленький совет, чтобы иметь.

00:17:30.190 --> 00:17:31.780
Так что у нас нет этих
кнопки на экране.

00:17:31.780 --> 00:17:33.385
Я собираюсь прокомментировать
это на данный момент.

00:17:33.385 --> 00:17:36.820
Следующее, что вы заметите
это наследует некоторые BasePage.

00:17:36.820 --> 00:17:39.820
Так что, если я уберу это,

00:17:39.820 --> 00:17:41.860
система будет
автоматически будет, как,

00:17:41.860 --> 00:17:43.135
нет, что-то не так.

00:17:43.135 --> 00:17:46.270
Я не позволю тебе сделать это.
потому что вам нужно реализовать

00:17:46.270 --> 00:17:49.960
реализация запроса платформы.

00:17:49.960 --> 00:17:52.810
Потому что, как я уже сказал, это
что движет системой,

00:17:52.810 --> 00:18:00.520
это то, что в основном, что помогает
система понимает извините,

00:18:00.520 --> 00:18:02.635
что хорошо, это на
страница я должен быть,

00:18:02.635 --> 00:18:05.275
и теперь я могу выполнять
действия на нем.

00:18:05.275 --> 00:18:11.320
Так что домашняя страница, это буквально
эта страница, что он приземляется на,

00:18:11.320 --> 00:18:15.730
он проверяет, так что для на iOS,

00:18:15.730 --> 00:18:17.890
это текст для этой кнопки.

00:18:17.890 --> 00:18:19.690
У меня нет iOS открытой, не так ли?

00:18:19.690 --> 00:18:21.910
Он проверяет эту кнопку
, что говорит gMusic.

00:18:21.910 --> 00:18:25.420
Но если вы заметите, есть
нет меню добавить задачу в Android.

00:18:25.420 --> 00:18:28.960
Итак, давайте выясним, что торговля
может быть для Android.

00:18:28.960 --> 00:18:31.525
Позвольте мне получить, где мой Repl,

00:18:31.525 --> 00:18:33.970
не мой терминал уйти.

00:18:33.970 --> 00:18:39.080
Итак, давайте посмотрим, что мы
есть происходит здесь.

00:18:40.140 --> 00:18:43.780
В этом гигантском потоке вещей,

00:18:43.780 --> 00:18:45.625
это может быть немного подавляющим.

00:18:45.625 --> 00:18:47.125
Если вы пишете uI
тест в первый раз,

00:18:47.125 --> 00:18:48.340
Я знаю много людей, которые не

00:18:48.340 --> 00:18:49.930
как глядя на rapel
и я не виню тебя,

00:18:49.930 --> 00:18:51.670
это информация Cortana.

00:18:51.670 --> 00:18:54.940
Опять же, несколько советов и приемов
просто чтобы сделать вашу жизнь проще.

00:18:54.940 --> 00:18:58.765
Вещи в этих квадратных скобках
обычно классы.

00:18:58.765 --> 00:19:01.750
Если вы захотите класс
и вы пытаетесь выяснить,

00:19:01.750 --> 00:19:04.660
если я могу найти id для
страница или элемент,

00:19:04.660 --> 00:19:07.480
Я могу использовать класс, это
это то, что вы хотите использовать.

00:19:07.480 --> 00:19:09.310
То, что я собираюсь сделать, это,

00:19:09.310 --> 00:19:12.295
Я на самом деле вошел и добавил
несколько идов автоматики,

00:19:12.295 --> 00:19:15.010
и я вижу, что в настоящее время
играть страницу и есть

00:19:15.010 --> 00:19:17.800
мини-плеер, который
эта вещь внизу,

00:19:17.800 --> 00:19:19.900
так что я собираюсь использовать
что, как Трэйт.

00:19:19.900 --> 00:19:21.940
Пойдем сюда и заменим это,

00:19:21.940 --> 00:19:23.635
так что у нас есть мини-плеер.

00:19:23.635 --> 00:19:26.530
Так домашняя страница выглядит хорошо
достаточно для меня, это нормально.

00:19:26.530 --> 00:19:28.990
Я не собираюсь ставить любой метод
на главной странице прямо сейчас просто

00:19:28.990 --> 00:19:31.480
потому что мы не делаем
любое действие на главной странице еще,

00:19:31.480 --> 00:19:34.885
все, что мы делаем, это салфетки
в это боковое меню.

00:19:34.885 --> 00:19:39.145
Я собираюсь вернуться в
базовая страница для немного,

00:19:39.145 --> 00:19:41.980
потому что есть
прохладный фанки мелочь

00:19:41.980 --> 00:19:44.065
У меня есть здесь, где я
собирается скопировать более.

00:19:44.065 --> 00:19:47.230
То, что происходит,

00:19:47.230 --> 00:19:49.585
базовая страница супер мощная.

00:19:49.585 --> 00:19:51.940
Одна из интересных вещей, которые я
хочу подчеркнуть здесь,

00:19:51.940 --> 00:19:55.750
если вы посмотрите на то, как это приложение
работает, позвольте мне поставить это,

00:19:55.750 --> 00:19:58.390
так что вы в песнях вы прямо сейчас,

00:19:58.390 --> 00:20:00.160
вы можете переключиться на художников.

00:20:00.160 --> 00:20:03.835
Опять же, боковое меню по-прежнему
доступны с той же страницы.

00:20:03.835 --> 00:20:06.010
Если я пойду в жанры,

00:20:06.010 --> 00:20:08.245
снова боковое меню доступно,

00:20:08.245 --> 00:20:09.940
и я люблю принимающей стороны,
и никто не имеет

00:20:09.940 --> 00:20:12.055
отреагировал на мой дрянной вкус в музыке,

00:20:12.055 --> 00:20:14.210
Вы, ребята, лучшие.

00:20:14.760 --> 00:20:17.245
Дело в том, что это общая страница

00:20:17.245 --> 00:20:18.880
это как общая функциональность,

00:20:18.880 --> 00:20:20.800
так что давайте поделимся кодом.

00:20:20.800 --> 00:20:24.670
Я собираюсь поставить это
на моей базовой странице,

00:20:24.670 --> 00:20:29.185
так что все это делает это
является методом меню Select,

00:20:29.185 --> 00:20:31.090
который собирается сделать
действия открытых

00:20:31.090 --> 00:20:33.250
меню и выберите пункт меню.

00:20:33.250 --> 00:20:35.845
Я собираюсь положить это на базовой странице
потому что это выглядит как

00:20:35.845 --> 00:20:39.460
каждая страница в этом приложении
имеет доступ к этой базовой странице.

00:20:39.460 --> 00:20:41.470
Он собирается сделать
моя жизнь легче сделать это.

00:20:41.470 --> 00:20:45.775
Еще один крутой трюк является возвращение
значения этих методов.

00:20:45.775 --> 00:20:47.635
Если вы вернете страницу, на ней находитесь,

00:20:47.635 --> 00:20:49.450
Вы можете держать строки на методы

00:20:49.450 --> 00:20:51.895
просто делает ваш тест
выглядят намного приятнее.

00:20:51.895 --> 00:20:54.865
Что мы рекомендуем с
шаблон объекта страницы,

00:20:54.865 --> 00:20:58.825
если это метод, который не
перемещаться из этой страницы,

00:20:58.825 --> 00:21:00.610
сделать тип возврата самой страницей.

00:21:00.610 --> 00:21:01.990
Потому что это означает, что
Вы собираетесь продолжать

00:21:01.990 --> 00:21:03.400
делать больше действий на этой странице,

00:21:03.400 --> 00:21:06.490
Вы не хотите, чтобы новые до страницы
когда вы пишете тест.

00:21:06.490 --> 00:21:08.560
Но если вы навигации
вдали от страницы,

00:21:08.560 --> 00:21:10.210
это означает, что есть
будет новая страница

00:21:10.210 --> 00:21:12.580
происходит после этого метода
делается в любом случае,

00:21:12.580 --> 00:21:16.615
так что, когда вы хотите сделать
она широка. Это еще один прохладный совет.

00:21:16.615 --> 00:21:22.420
У меня нет моего использования псевдонима в
здесь так позвольте мне тянуть, что более,

00:21:22.420 --> 00:21:26.000
Вы хотите использовать некоторые фанки и ничего себе.

00:21:26.790 --> 00:21:31.900
Ладно, это кажется счастливым
это выглядит хорошо.

00:21:31.900 --> 00:21:33.760
У меня есть аналогичная вещь, которая делает

00:21:33.760 --> 00:21:38.185
перетаскивание действий снизу
чтобы открыть теперь простой вид.

00:21:38.185 --> 00:21:40.495
Опять же, это совместное действие
какой бы странице вы

00:21:40.495 --> 00:21:42.790
на вы должны быть в состоянии
сделать это действие снова,

00:21:42.790 --> 00:21:44.770
Я положила это на свою базовую страницу.

00:21:44.770 --> 00:21:46.900
Вы начнете замечать
вещи, как мы

00:21:46.900 --> 00:21:48.490
делать все эти
принципы, которые вы сделали бы

00:21:48.490 --> 00:21:50.080
когда вы пишете приложение не

00:21:50.080 --> 00:21:52.120
обязательно, когда
Вы пишете тест.

00:21:52.120 --> 00:21:54.910
Изюминка
Все это в том, что,

00:21:54.910 --> 00:21:57.040
написание тестов, как писать приложение.

00:21:57.040 --> 00:21:58.570
Я имею в виду, если вы умны об этом,

00:21:58.570 --> 00:22:00.175
и вы можете пойти тест люксы надежный,

00:22:00.175 --> 00:22:01.480
он просто делает письменной форме

00:22:01.480 --> 00:22:04.310
тесты и поддержание
их гораздо приятнее.

00:22:04.380 --> 00:22:06.805
Прохладный, так на основе привычки создана,

00:22:06.805 --> 00:22:08.455
У меня есть моя домашняя страница установки.

00:22:08.455 --> 00:22:10.390
У нас есть наш тест,

00:22:10.390 --> 00:22:11.440
так что я собираюсь прокомментировать

00:22:11.440 --> 00:22:14.530
этот старый тестфайл, потому что
нам это больше не нужно,

00:22:14.530 --> 00:22:18.085
и это наша настройка вещь.

00:22:18.085 --> 00:22:23.230
Еще один прохладный совет, это все
работает через Нунит.

00:22:23.230 --> 00:22:25.390
Да, если ты поддерживаешь Нунит 3 сейчас,

00:22:25.390 --> 00:22:30.170
так что вы можете использовать Nunit 3 с тестом uI.

00:22:30.960 --> 00:22:34.600
Выделите и используйте каждую энергию
то Nunit обеспечивает.

00:22:34.600 --> 00:22:38.690
Используйте тестовые случаи, и вы
знаю оптимизировать ваши столы.

00:22:39.900 --> 00:22:43.075
Это как у вас есть
вся эта сила там,

00:22:43.075 --> 00:22:44.560
не забывайте, что
даже несмотря на то, что это имеет

00:22:44.560 --> 00:22:46.300
Тест на ui Xamarin работает на Nunits,

00:22:46.300 --> 00:22:48.610
у вас есть все функции Nunit
доступны для вас.

00:22:48.610 --> 00:22:50.965
Таким образом, вы можете утверждать, вы
могут использовать тестовые случаи,

00:22:50.965 --> 00:22:52.615
вы можете использовать игнорировать,

00:22:52.615 --> 00:22:56.410
Вы также можете использовать
моя любимая вещь категории.

00:22:56.410 --> 00:22:59.590
Моя любимая вещь, чтобы
делать с категорией, чтобы

00:22:59.590 --> 00:23:02.275
настроить тесты с тестом на дым,

00:23:02.275 --> 00:23:04.825
ночные тесты, тесты на разработку.

00:23:04.825 --> 00:23:08.665
Если у вас есть ci/CD настройки
с тестами на uI в нем,

00:23:08.665 --> 00:23:10.690
классифицировать ваши тесты,
так что вы не работаете

00:23:10.690 --> 00:23:12.625
весь набор тестов каждый раз.

00:23:12.625 --> 00:23:16.465
Так что, если это просто проверка Dev BR
просто сделать его работает на дым испытаний.

00:23:16.465 --> 00:23:18.490
Если это ежедневно большой,

00:23:18.490 --> 00:23:19.840
сделать подмножество

00:23:19.840 --> 00:23:22.825
весь ваш люкс и называть, что
ежедневная категория тестов.

00:23:22.825 --> 00:23:24.640
Если это ставка Nike, вот когда я

00:23:24.640 --> 00:23:26.830
рекомендую делать, как
весь тест сквозной,

00:23:26.830 --> 00:23:28.150
только потому, что никто не
работает, и вы

00:23:28.150 --> 00:23:30.145
есть все три компьютера.

00:23:30.145 --> 00:23:36.410
Опять же, использовать использовать все прохладно
вещи, которые Нунит должен предоставить.

00:23:36.540 --> 00:23:42.145
Я собираюсь восстановить.

00:23:42.145 --> 00:23:43.540
Упс, у меня есть изнасилование открытым,

00:23:43.540 --> 00:23:44.725
Не так ли? Да.

00:23:44.725 --> 00:23:47.380
Давайте выйти из этого,

00:23:47.380 --> 00:23:50.905
рапс хорошо, выглядит счастливым.

00:23:50.905 --> 00:23:58.930
Мы настроили тестовый случай для
настройки страницы и проверить это.

00:23:58.930 --> 00:24:03.010
Теперь устанавливает его в
панель модульной панели,

00:24:03.010 --> 00:24:05.260
так что я собираюсь пойти открытым
страницу настроек,

00:24:05.260 --> 00:24:07.285
Давайте посмотрим, как это выглядит.

00:24:07.285 --> 00:24:10.795
Попытка номер два с iOS,
Давайте посмотрим, как это происходит.

00:24:10.795 --> 00:24:14.300
Нет, это не нравится
ioOS устройство, почему?

00:24:16.920 --> 00:24:21.490
К сожалению, стоял это, убить приложение.

00:24:21.490 --> 00:24:25.300
Получить это приложение еще раз, чистый.

00:24:25.300 --> 00:24:35.155
Вот мы идем, давай,

00:24:35.155 --> 00:24:37.520
не отодвименять его на меня.

00:24:37.800 --> 00:24:40.825
Сделайте всех богов демо счастливыми.

00:24:40.825 --> 00:24:45.610
Как он работает, позвольте мне увидеть,

00:24:45.610 --> 00:24:48.670
Я собиралась сказать что-то, что
только, о да, он работает сейчас.

00:24:48.670 --> 00:24:54.710
Давайте посмотрим, как это происходит.
Он открывает приложение.

00:24:57.450 --> 00:25:01.990
Нет, это не салфетки и
выберите пункт меню.

00:25:01.990 --> 00:25:04.550
Мне так грустно сейчас, давайте
посмотреть, что происходит.

00:25:04.650 --> 00:25:08.840
Сайт справа налево, у нас есть меню.

00:25:13.650 --> 00:25:16.000
Следующее, что это будет
произойдет, но, скажем,

00:25:16.000 --> 00:25:18.085
что я делал на давайте отладку тест.

00:25:18.085 --> 00:25:20.260
Не знаю, почему это не работает,

00:25:20.260 --> 00:25:22.210
то, что я собираюсь сделать, это собирается
входить в рапс здесь,

00:25:22.210 --> 00:25:24.010
и я собираюсь проверить
почему мой тест не работает

00:25:24.010 --> 00:25:25.870
потому что честно я
думал, что это будет

00:25:25.870 --> 00:25:30.530
работать, как мне это нужно
работать, как статья.

00:25:33.570 --> 00:25:36.985
Вот как завершенный тест,

00:25:36.985 --> 00:25:39.565
Боже мой, я должен
не забудьте убить это.

00:25:39.565 --> 00:25:44.290
Вы видели, как выглядит завершенный

00:25:44.290 --> 00:25:46.090
теста выглядит
и как же куча

00:25:46.090 --> 00:25:48.550
мой Go-Share и обмен методом
что вы можете сделать.

00:25:48.550 --> 00:25:53.080
Как бы вы идти о запуске
из написания нового теста,

00:25:53.080 --> 00:25:55.435
так что, возможно, преобразование тестов
что у вас уже есть.

00:25:55.435 --> 00:25:57.130
Шаг номер один будет буквально

00:25:57.130 --> 00:25:58.885
то, что я только что сделал,
добавление в тесте uI,

00:25:58.885 --> 00:26:01.405
Вы можете использовать поп-пакет
или вы можете пойти в

00:26:01.405 --> 00:26:05.690
GitHub и вручную копировать более
эти страницы, что вам нравится.

00:26:06.240 --> 00:26:10.180
Вторая вещь
как я и сказал, ты войдешь,

00:26:10.180 --> 00:26:11.500
отсваиваю файл диспетчера приложений,

00:26:11.500 --> 00:26:14.260
удалить все инициализаторприложения приложения
файл, вы сделали все это.

00:26:14.260 --> 00:26:17.050
Вы приходите, а затем

00:26:17.050 --> 00:26:19.795
следующий шаг буквально просто
для начала создания страниц.

00:26:19.795 --> 00:26:22.150
У меня была домашняя страница уже создана
с торговлей там,

00:26:22.150 --> 00:26:23.560
но это буквально следующий шаг.

00:26:23.560 --> 00:26:25.120
Первоначальный бай-ин может быть

00:26:25.120 --> 00:26:26.920
немного дорого, потому что
это занимает немного

00:26:26.920 --> 00:26:30.490
время в зависимости от того, сколько страниц
и насколько продвинутым является ваше приложение.

00:26:30.490 --> 00:26:31.870
Но самое приятное в том,

00:26:31.870 --> 00:26:33.460
Вы можете на самом деле разделить эту работу

00:26:33.460 --> 00:26:35.200
потому что это независимо
о том, кто работает над этим.

00:26:35.200 --> 00:26:36.715
Потому что все, кто на этой странице,

00:26:36.715 --> 00:26:38.110
так что вы можете разделить работу

00:26:38.110 --> 00:26:39.640
написание каждой страницы
от пяти человек,

00:26:39.640 --> 00:26:41.005
каждый пишет одну страницу,

00:26:41.005 --> 00:26:43.810
и это все, у вас есть в
первоначальная настройка выполнена.

00:26:43.810 --> 00:26:47.800
Потому что, как только страницы в это
все, что занимает больше всего времени,

00:26:47.800 --> 00:26:50.365
то вы просто приготовления пищи
методы написания тестов,

00:26:50.365 --> 00:26:52.645
супер-простой, это
действительно просто.

00:26:52.645 --> 00:27:00.500
Теперь, давайте посмотрим, почему мой салфетки
справа налево не было салфетки.

00:27:03.750 --> 00:27:07.840
Так мой код наоборот?

00:27:07.840 --> 00:27:11.170
Мой код подходит для
слева, хорошо давайте посмотрим.

00:27:11.170 --> 00:27:14.090
Я открыла рапс, давайте проверим.

00:27:14.100 --> 00:27:18.730
Если он идет направо налево
он не делает ничего странного.

00:27:18.730 --> 00:27:20.740
Ладно, пойдем налево направо.
Я думаю, вы, ребята, правы.

00:27:20.740 --> 00:27:27.400
Я думаю, что это предполагается
проведите пальцем слева направо.

00:27:28.380 --> 00:27:31.615
Вот и ты, хороший улов. Спасибо.

00:27:31.615 --> 00:27:35.470
Радость голосования по нему, и никто
из вас спит, это хорошо.

00:27:35.470 --> 00:27:37.090
Ненавижу проводить сеансы
после обеда, потому что

00:27:37.090 --> 00:27:39.860
Я всегда уверен, что
все наполовину спят.

00:27:41.010 --> 00:27:44.065
Другое, что я сделала
здесь я начал сдачи

00:27:44.065 --> 00:27:46.330
выборка того, как функция
будет выглядеть,

00:27:46.330 --> 00:27:48.790
но я чрезмерно сложные вещи себя.

00:27:48.790 --> 00:27:50.500
Это буквально просто делать

00:27:50.500 --> 00:27:53.570
совпадение строки запроса
к тому, что здесь.

00:27:53.790 --> 00:27:56.890
Еще одна вещь, которую я хотел бы
обычно делают это так, как я

00:27:56.890 --> 00:27:59.380
сказал, что первоначальная установка
это просто страницы,

00:27:59.380 --> 00:28:01.900
и самый быстрый способ
найти элементы на

00:28:01.900 --> 00:28:05.190
страница i App.flash все,

00:28:05.190 --> 00:28:07.695
это моя любимая вещь здесь.

00:28:07.695 --> 00:28:11.470
Так как я хотел просто нажмите
на том Кнопка установки,

00:28:12.050 --> 00:28:15.215
если я просто добавлю. Настройки вспышки,

00:28:15.215 --> 00:28:18.160
Я могу просто понял, это
получил две кнопки настроек,

00:28:18.160 --> 00:28:21.920
Мне просто нужно, чтобы это было, сделай.

00:28:22.830 --> 00:28:25.705
Это мои точные настройки
кнопки, вот и все.

00:28:25.705 --> 00:28:28.375
Если вы просто потратить немного
время и просто продолжать делать это,

00:28:28.375 --> 00:28:30.775
это делает настройки
эта страница супер быстро.

00:28:30.775 --> 00:28:33.160
Кроме того, в большинстве случаев, если
Вы тот, кто

00:28:33.160 --> 00:28:35.440
написал приложение, вы знаете,
что автоматизация ID вы

00:28:35.440 --> 00:28:37.465
прилагается в формах Xamarin или

00:28:37.465 --> 00:28:40.540
какое имя на доступности
Удостоверение личности, предоставленное вами.

00:28:40.540 --> 00:28:42.700
Таким образом, вы бы, скорее всего,
знаю запрос уже.

00:28:42.700 --> 00:28:44.260
Это должно быть супер супер быстро,

00:28:44.260 --> 00:28:47.245
и супер интуитивно понятный
как только вы получите в него.

00:28:47.245 --> 00:28:50.814
Я пойду возьму это,

00:28:50.814 --> 00:28:52.660
и я собираюсь изменить это, потому что

00:28:52.660 --> 00:28:54.550
он не должен
быть это сложно.

00:28:54.550 --> 00:29:01.255
Это может буквально просто строка
и он может просто жить здесь.

00:29:01.255 --> 00:29:03.830
Тогда я собираюсь использовать,

00:29:05.460 --> 00:29:07.690
Я не тянуть, что в сегодня,

00:29:07.690 --> 00:29:09.800
Нет, это прямо здесь, хорошо.

00:29:17.450 --> 00:29:24.105
Нет, не выздоравлив,
Хорошо, хорошо, держись.

00:29:24.105 --> 00:29:26.830
Я собираюсь сделать
немного fudging здесь.

00:29:30.770 --> 00:29:35.320
Я хочу показать
как их писать.

00:29:37.520 --> 00:29:40.125
Хорошо. Это выглядит хорошо.

00:29:40.125 --> 00:29:47.140
Давайте изменим вас, и
Давай изменим тебя.

00:29:49.580 --> 00:29:53.010
Мне нужен мой запрос еще раз.

00:29:53.010 --> 00:29:57.040
Так что я собираюсь вернуться в
Здесь. Так что это был запрос.

00:30:00.800 --> 00:30:03.060
Что мне здесь нужно?

00:30:03.060 --> 00:30:10.270
Так что я собираюсь просто
сделать эти настройки.

00:30:16.040 --> 00:30:18.120
Вообще-то, я даже не

00:30:18.120 --> 00:30:20.400
нужно, что больше, сейчас
что я думаю об этом.

00:30:20.400 --> 00:30:23.205
Я могу просто зайти и сделать это,

00:30:23.205 --> 00:30:29.580
бросить в моей проверки Lambda
прямо здесь.

00:30:29.580 --> 00:30:33.900
Таким образом, делает элемент это,
"Нажмите" на элемент этого.

00:30:33.900 --> 00:30:36.420
Хорошо. Так что это на данный момент,

00:30:36.420 --> 00:30:42.030
Мы просто откроем меню настроек,

00:30:42.030 --> 00:30:44.265
только потому, что я не хочу
тратить время каждого,

00:30:44.265 --> 00:30:45.165
и мы приближаемся.

00:30:45.165 --> 00:30:49.455
Так что давайте этот набор здесь.

00:30:49.455 --> 00:30:52.660
Хорошо, отлично.

00:30:53.900 --> 00:30:56.290
Что не так?

00:31:02.450 --> 00:31:05.700
Так что я назвала его.

00:31:05.700 --> 00:31:09.510
"SelectMenuItem", но я не
дать ему значение прямо сейчас.

00:31:09.510 --> 00:31:12.490
Хорошо. Давайте сделаем.

00:31:14.330 --> 00:31:17.100
Он все еще работает?

00:31:17.100 --> 00:31:21.525
Хорошо. Так что всегда помните, чтобы убить
приложение, которое я забыл сделать.

00:31:21.525 --> 00:31:24.090
Так что давайте это происходит.

00:31:24.090 --> 00:31:31.680
Я думаю, что это самая медленная часть,

00:31:31.680 --> 00:31:33.165
просто ждет, что запуск.

00:31:33.165 --> 00:31:36.225
Но кроме этого,
он становится супер быстро.

00:31:36.225 --> 00:31:38.430
Так что же мы собираемся делать сейчас
очень быстро я просто

00:31:38.430 --> 00:31:40.470
показать вам, как настроить страницу, потому что

00:31:40.470 --> 00:31:44.520
это, как правило, все, что вы
необходимо понять, что

00:31:44.520 --> 00:31:49.540
происходит, и просто понять.

00:31:51.860 --> 00:31:55.965
Позвольте мне угадать, мой индекс
равняется нулю, а не одному.

00:31:55.965 --> 00:31:58.200
Да, мой индекс равен нулю, а не одному.

00:31:58.200 --> 00:32:03.580
Хорошо. Давай разделимся.

00:32:04.160 --> 00:32:08.160
Продолжим. Что я хочу
проверить, что это слайд один, два.

00:32:08.160 --> 00:32:11.280
Хорошо. Он придет на эту страницу.

00:32:11.280 --> 00:32:13.905
Но то, что мы собираемся
на самом деле написать тест для,

00:32:13.905 --> 00:32:16.290
Я хочу проверить на это
теперь воспроизведение экрана.

00:32:16.290 --> 00:32:22.150
Так что давайте попробуем это.

00:32:23.030 --> 00:32:26.140
Пойдем сюда.

00:32:32.330 --> 00:32:38.710
OpenNowPlaying и когда я
открыть Repl на этой странице.

00:32:42.650 --> 00:32:46.515
Хорошо. Так что, пока это начало,

00:32:46.515 --> 00:32:49.095
как бы вы начали с новой страницы?

00:32:49.095 --> 00:32:54.120
"Добавить новую страницу". Так что давайте
назовите его NowPlayingPage.

00:32:54.120 --> 00:32:57.270
Всем хорошо учиться. Это
это то, что каждый будет делать.

00:32:57.270 --> 00:33:00.749
Следующий шаг, мы собираемся
наследовать от BasePage,

00:33:00.749 --> 00:33:02.010
но потом это будет, как, "Нет,

00:33:02.010 --> 00:33:03.435
вы должны иметь запрос платформы ".

00:33:03.435 --> 00:33:06.490
Хорошо. Бросьте в платформе запрос.

00:33:09.530 --> 00:33:13.560
Так что это на моей странице
и он готов к работе.

00:33:13.560 --> 00:33:17.310
Так что мы можем положить это обратно сюда,

00:33:17.310 --> 00:33:18.990
получить шрифт для этого.

00:33:18.990 --> 00:33:21.750
Хорошо. Так обычно то, что я делаю,

00:33:21.750 --> 00:33:25.980
Я никогда не помню, как платформа
черта и прочее выглядит.

00:33:25.980 --> 00:33:30.645
Я иду и открываю в образце или я
просто войди в уже сделанную страницу.

00:33:30.645 --> 00:33:34.515
Я решил скопировать это более
потому что я люблю обманывать.

00:33:34.515 --> 00:33:39.030
Таким образом, под этой командой
здесь положить это здесь.

00:33:39.030 --> 00:33:40.980
Хорошо. Все, что вам нужно, чтобы
делать сейчас приходит и просто

00:33:40.980 --> 00:33:43.395
изменить значения черты
на платформу.

00:33:43.395 --> 00:33:46.290
Так что давайте посмотрим, что это
может быть для iOS.

00:33:46.290 --> 00:33:49.150
Итак, давайте посмотрим, что у нас здесь.

00:33:49.700 --> 00:33:53.745
У нас куча экранов.

00:33:53.745 --> 00:33:55.890
Но у меня есть идентификатор страницы, который говорит

00:33:55.890 --> 00:33:58.050
NowPlayingPage, который является перспективным.

00:33:58.050 --> 00:33:59.310
Так что я собираюсь захватить это.

00:33:59.310 --> 00:34:03.490
Так что для iOS, я собираюсь
положить это как черта страницы.

00:34:06.250 --> 00:34:10.120
Это бросить здесь.

00:34:10.120 --> 00:34:13.020
Я подниму Android,

00:34:13.020 --> 00:34:18.510
и давайте сделаем то же самое
вещь для Android.

00:34:18.510 --> 00:34:21.855
Итак, настройки Android.

00:34:21.855 --> 00:34:25.120
Позволь мне провести этот тест.

00:34:25.250 --> 00:34:27.890
Итак, начальная установка.

00:34:27.890 --> 00:34:30.320
Я не просто делаю буквально
что я буду делать, если я делаю

00:34:30.320 --> 00:34:32.960
это самостоятельно на моем столе.

00:34:32.960 --> 00:34:34.430
Итак, первый шаг, который я войду,

00:34:34.430 --> 00:34:35.690
запустить это пару раз,

00:34:35.690 --> 00:34:38.045
получить все черты страницы сделано.

00:34:38.045 --> 00:34:40.900
Как только у меня есть значения черты страницы,

00:34:40.900 --> 00:34:42.810
Мне нужно, чтобы исправить это
для Android ясно,

00:34:42.810 --> 00:34:43.935
это не смахивая право.

00:34:43.935 --> 00:34:48.405
Но дерево здесь,

00:34:48.405 --> 00:34:51.850
Давайте посмотрим, что происходит
в Android. Давайте посмотрим.

00:34:51.890 --> 00:34:55.830
Так вот этикетка.
Потому что я возвращаюсь.

00:34:55.830 --> 00:35:00.330
Хорошо. Так что есть MiniPlayer,
есть CurrentSong, CurrentArtist.

00:35:00.330 --> 00:35:02.280
Я снова вижу открытую страницу.

00:35:02.280 --> 00:35:05.910
Так что давайте просто одолжить
одно и то же для обоих.

00:35:05.910 --> 00:35:09.180
Теперь, когда это настроено,
мы можем начать положить в

00:35:09.180 --> 00:35:12.270
некоторые значения для элементов
на этом экране.

00:35:12.270 --> 00:35:17.235
Так что еще раз вернемся, давайте захватить
псевдоним для этого.

00:35:17.235 --> 00:35:20.265
ТеперьИграстраница, давайте
зайти сюда. Хорошо.

00:35:20.265 --> 00:35:23.370
Таким образом, NowPlayingPage имеет
кучу кнопок, которые я вижу.

00:35:23.370 --> 00:35:26.460
Так что давайте посмотрим, что здесь происходит.

00:35:26.460 --> 00:35:28.710
Итак, есть кнопка "Играй",

00:35:28.710 --> 00:35:30.180
есть вверх и большие пальцы вверх,

00:35:30.180 --> 00:35:33.180
большие пальцы вниз, есть
"Мини-Игрок".

00:35:33.180 --> 00:35:36.360
То, что я собираюсь попробовать, это,

00:35:36.360 --> 00:35:38.370
давайте посмотрим, если вы можете получить
в кнопку "Перемешать".

00:35:38.370 --> 00:35:40.650
Вот эта кнопка.

00:35:40.650 --> 00:35:42.630
Так что есть перетасовка,
есть повторная игра.

00:35:42.630 --> 00:35:45.210
Правильно. Теперь, если вы заметили это
это еще один вопрос, который я видел.

00:35:45.210 --> 00:35:48.075
Таким образом, вы не всегда можете иметь
контроль над исходный код,

00:35:48.075 --> 00:35:49.350
и вы не всегда можете
быть в состоянии войти в

00:35:49.350 --> 00:35:50.640
там и добавить идентионные данные автоматизации,

00:35:50.640 --> 00:35:53.055
или добавить физические имена для вещей.

00:35:53.055 --> 00:35:54.900
Так, например, если я загляну сюда,

00:35:54.900 --> 00:35:58.125
все, что я получаю видеть это
контроль нижних сетей.

00:35:58.125 --> 00:36:02.280
У меня нет конкретных имен
для любой из этих кнопок бытия.

00:36:02.280 --> 00:36:04.440
Я думаю, что это пользовательский контроль
этот взгляд используется.

00:36:04.440 --> 00:36:07.510
Так что у меня нет никаких ценностей для него.

00:36:07.610 --> 00:36:11.895
Лучший способ сделать это
просто продолжайте бурение вниз.

00:36:11.895 --> 00:36:13.604
Так что я собираюсь,

00:36:13.604 --> 00:36:15.060
Давайте запрос вниз отсюда.

00:36:15.060 --> 00:36:18.210
Так что это называется
контроль нижних сетей.

00:36:18.210 --> 00:36:22.395
Так что я собираюсь посмотреть на то, что
дети внутри него в первую очередь.

00:36:22.395 --> 00:36:27.870
Думаю, я вижу один, два, три, четыре.

00:36:27.870 --> 00:36:29.400
Нет, есть много
вещей там.

00:36:29.400 --> 00:36:31.320
Хорошо. Давайте вспышки этих, потому что я

00:36:31.320 --> 00:36:34.150
не уверен, что здесь,
есть так много вещей.

00:36:37.950 --> 00:36:41.890
Хорошо. Раз, два, три, четыре, хорошо.

00:36:41.890 --> 00:36:45.235
Таким образом, нижняя сетка
вся эта нижняя область,

00:36:45.235 --> 00:36:46.990
Мне не нужна вся нижняя область.

00:36:46.990 --> 00:36:50.140
Так что я собираюсь использовать последнего ребенка,

00:36:50.140 --> 00:36:53.650
и давайте посмотрим, что
в, там мы идем.

00:36:53.650 --> 00:36:55.450
Мы уже ближе, да?

00:36:55.450 --> 00:37:00.780
Так что это не всегда будет
быть счастливым случаем, где вы можете

00:37:00.780 --> 00:37:02.880
написать эти совершенные иди
и вы знаете, поддерживать

00:37:02.880 --> 00:37:06.765
идеальный уникальный набор идентификаторов
для элемента на экране.

00:37:06.765 --> 00:37:08.790
Я бы не слишком решился на это.

00:37:08.790 --> 00:37:11.790
Имея что-нибудь и
получение только основные тесты

00:37:11.790 --> 00:37:13.470
происходит гораздо важнее, чем

00:37:13.470 --> 00:37:15.545
пытаясь найти уникальные иди
для любого элемента.

00:37:15.545 --> 00:37:17.740
Так что до тех пор, пока тест не сломается,

00:37:17.740 --> 00:37:20.530
это немного хрупкий на данный момент
Я согласен, но тогда это

00:37:20.530 --> 00:37:23.470
когда вы можете пройти этот тест и
показать его команде и быть, как,

00:37:23.470 --> 00:37:25.315
"Эй, это действительно полезно."

00:37:25.315 --> 00:37:27.115
Давайте начнем добавлять,

00:37:27.115 --> 00:37:28.390
тот факт, что они будут

00:37:28.390 --> 00:37:29.770
проверены и давайте быть более внимательными,

00:37:29.770 --> 00:37:31.660
добавить больше имен в
эти вещи в будущем.

00:37:31.660 --> 00:37:33.280
Так что давайте займем.

00:37:33.280 --> 00:37:35.425
Я думаю, что это была вторая кнопка,

00:37:35.425 --> 00:37:38.020
это проверит. Да. Ну вот.

00:37:38.020 --> 00:37:42.055
Так что следующим шагом в буквальном смысле будет,

00:37:42.055 --> 00:37:44.080
Я могу просто пойти сюда.

00:37:44.080 --> 00:37:46.090
Это где красота
приходит, не так ли?

00:37:46.090 --> 00:37:49.270
Так что это, так что давайте назовем его.

00:37:49.270 --> 00:37:58.040
Так что есть кнопка Shuffle
и есть, пойдем.

00:37:59.460 --> 00:38:02.395
Что было на кнопке повторения?

00:38:02.395 --> 00:38:04.150
Они вроде как по соседству
друг к другу, не так ли?

00:38:04.150 --> 00:38:06.550
Так что давайте оптимизируем настройку этого.

00:38:06.550 --> 00:38:09.430
Так вот где вы инициализировать

00:38:09.430 --> 00:38:13.435
запросы для
каждый элемент управления на странице.

00:38:13.435 --> 00:38:18.235
Так вот где кросс-платформы
часть объекта страницы воспроизводится.

00:38:18.235 --> 00:38:21.310
Если запрос является
же на обеих платформах,

00:38:21.310 --> 00:38:23.395
этот текущий является прекрасным примером.

00:38:23.395 --> 00:38:25.600
Я не думаю, что это будет
то же самое на каждом только потому, что мы

00:38:25.600 --> 00:38:28.240
пришлось пройти, как
кровать и ребенок вещь,

00:38:28.240 --> 00:38:32.230
и макеты uI в iOS и
Android может быть немного по-другому.

00:38:32.230 --> 00:38:33.700
Так что это хороший кандидат, чем нет.

00:38:33.700 --> 00:38:36.940
Это, вероятно, не собирается
быть общей ценностью,

00:38:36.940 --> 00:38:39.730
но что-то вроде
теперь Играя торговли.

00:38:39.730 --> 00:38:41.320
Так как это то же самое
на обеих платформах,

00:38:41.320 --> 00:38:43.105
Вы могли бы просто буквально
прийти просто пойти, как

00:38:43.105 --> 00:38:46.405
Перемешать кнопку, а затем просто
падение запроса здесь,

00:38:46.405 --> 00:38:47.710
и это просто означает, что использовать

00:38:47.710 --> 00:38:50.005
одно и то же значение запроса
для каких платформ.

00:38:50.005 --> 00:38:52.450
Но если он отличается для каждого,

00:38:52.450 --> 00:38:53.875
Давайте просто отделить его.

00:38:53.875 --> 00:38:56.875
Так что, если на обеих платформах,

00:38:56.875 --> 00:38:58.885
как вы будете делать, чтобы иметь

00:38:58.885 --> 00:39:00.460
определенные различные настройки в iOS и

00:39:00.460 --> 00:39:02.575
Android и фирмы аналогичной концепции.

00:39:02.575 --> 00:39:05.065
Так что это то, что
Кнопка перемешивания выглядит так:

00:39:05.065 --> 00:39:08.725
и у нас есть кнопка повторения

00:39:08.725 --> 00:39:12.955
и индекс, что
было просто, хотя,

00:39:12.955 --> 00:39:14.410
Кажется, я поменяла индекс.

00:39:14.410 --> 00:39:17.935
Так что это один, это
два, «неразборчиво» бум.

00:39:17.935 --> 00:39:20.560
Ну вот. Хорошо. Вы
может в этот момент

00:39:20.560 --> 00:39:23.725
на самом деле просто продолжать и
положить вниз методы страницы.

00:39:23.725 --> 00:39:26.650
Так как для этой страницы
и теперь играть,

00:39:26.650 --> 00:39:34.790
это будет пресса
сказать Shuffle кнопки.

00:39:36.720 --> 00:39:40.915
Я собираюсь вернуть это,

00:39:40.915 --> 00:39:42.940
только потому, что это
действие, которое не

00:39:42.940 --> 00:39:44.695
навигация вблизи выход из этой страницы.

00:39:44.695 --> 00:39:46.150
Я останусь и смогу.

00:39:46.150 --> 00:39:48.670
продолжать делать
больше вещей на этой странице.

00:39:48.670 --> 00:39:51.370
После этого я могу пойти и
нажмите кнопку.

00:39:51.370 --> 00:39:53.050
Я могу пойти нажмите кнопку общего доступа.

00:39:53.050 --> 00:39:55.255
Я могу пойти на кнопку эллипсиса.

00:39:55.255 --> 00:39:57.310
Так что это то, что я был

00:39:57.310 --> 00:39:59.290
говорить о перед действиями
которые остаются на странице,

00:39:59.290 --> 00:40:00.865
сделать его вернуть сам тип страницы.

00:40:00.865 --> 00:40:03.325
Потому что, когда вы пишете тест,

00:40:03.325 --> 00:40:06.460
он может строку вместе.

00:40:06.460 --> 00:40:08.320
Так что еще одна хорошая вещь
Мне нравится делать это,

00:40:08.320 --> 00:40:10.210
Я всегда люблю ждать
для элемента, чтобы

00:40:10.210 --> 00:40:12.775
появляются, прежде чем я делаю какие-либо действия на нем.

00:40:12.775 --> 00:40:16.510
Это так же, как напористая
истинный или напористой видимой,

00:40:16.510 --> 00:40:17.680
но я просто пытаюсь использовать вес для

00:40:17.680 --> 00:40:19.390
элемент только потому, что
он имеет встроенный в

00:40:19.390 --> 00:40:22.870
механизм повторной попытки уже
запеченные в него из теста uI.

00:40:22.870 --> 00:40:25.720
Делает его супер хорошим.
Заставляет мой тест чувствовать себя

00:40:25.720 --> 00:40:28.915
немного больше, как я чувствую
лучше об этом раньше.

00:40:28.915 --> 00:40:30.760
Просто чтобы убедиться, что элемент
на самом деле было

00:40:30.760 --> 00:40:33.115
отображенные на экране
прежде чем я нажму на него.

00:40:33.115 --> 00:40:37.690
Так что давайте просто посмотреть, что было в

00:40:37.690 --> 00:40:43.450
охранник Пресс Повторите, потому что

00:40:43.450 --> 00:40:45.760
Я хочу показать вам, что
строка тестов выглядит.

00:40:45.760 --> 00:40:48.085
Так что давайте вернем это.

00:40:48.085 --> 00:40:53.720
Опять же, приложение. Ожидание Кнопка повторения,

00:40:54.120 --> 00:41:00.805
и приложение. Нажмите Кнопка повтора.

00:41:00.805 --> 00:41:04.825
Хорошо. Так что теперь делать
Я уже готов?

00:41:04.825 --> 00:41:08.020
Следующий шаг буквально
осталось сделать было бы я бы

00:41:08.020 --> 00:41:10.480
возобновить Repl снова
но для iOS на этот раз,

00:41:10.480 --> 00:41:12.670
и все, что я буду делать
для iOS это идти и

00:41:12.670 --> 00:41:15.265
найти запросы для
эти две кнопки.

00:41:15.265 --> 00:41:17.260
Вот и все, моя страница настроена.

00:41:17.260 --> 00:41:19.240
Это все, что вам нужно, чтобы
делать. Так что это просто

00:41:19.240 --> 00:41:20.860
все первоначальные бай-ин, что вам нужно.

00:41:20.860 --> 00:41:22.330
Это все время, что вы бы потратить

00:41:22.330 --> 00:41:23.815
в первый раз просто настройка этих,

00:41:23.815 --> 00:41:25.120
и после того, как они
супер-простой, потому что

00:41:25.120 --> 00:41:26.725
Теперь, что я собираюсь пойти добавить тест.

00:41:26.725 --> 00:41:28.240
Давайте добавим новый тест.

00:41:28.240 --> 00:41:32.630
Так что давайте назовем это сейчас мигать тест.

00:41:32.640 --> 00:41:37.180
Я собираюсь войти сюда,

00:41:37.180 --> 00:41:38.890
добавить в BaseTestFixture.

00:41:38.890 --> 00:41:43.130
Это требует платформы.

00:41:44.430 --> 00:41:49.760
Перейдя, добавить это в,

00:41:50.310 --> 00:41:54.640
платформы, бум. Ну вот.

00:41:54.640 --> 00:41:56.950
Ты подставилась. Чтобы написать тест,

00:41:56.950 --> 00:41:58.930
Давайте поставим в тестовый тег,

00:41:58.930 --> 00:42:00.940
не имеет N единицы здесь.

00:42:00.940 --> 00:42:02.890
Так что давайте тянуть в N единицы, после этого.

00:42:02.890 --> 00:42:07.105
Так публичная пустота. Давайте назовем это,

00:42:07.105 --> 00:42:12.760
XamDevSummitTest, потому что я
отлично с именами. Хорошо.

00:42:12.760 --> 00:42:16.000
Итак, приходя на новую домашнюю страницу,

00:42:16.000 --> 00:42:18.970
и тогда вы хотите
идти открытым Теперь играть.

00:42:18.970 --> 00:42:22.240
Бум, вот и все. То есть
мое первое действие. Следующее.

00:42:22.240 --> 00:42:23.560
Теперь, когда я открыл Сейчас Играть,

00:42:23.560 --> 00:42:24.730
Я на странице Сейчас Воспроизведение.

00:42:24.730 --> 00:42:28.690
Так новый Теперь воспроизведения страницы. Что это было?

00:42:28.690 --> 00:42:32.890
Так что давайте нажмем Повторите, а затем
Я хочу продолжать делать действия,

00:42:32.890 --> 00:42:38.020
а потом я буду нажимать
Кнопка перемешивания. Ну вот.

00:42:38.020 --> 00:42:41.740
Таким образом, ваш тест на uI, как своего рода
течет и собирается и работает в

00:42:41.740 --> 00:42:46.510
через и поддержание его

00:42:46.510 --> 00:42:48.520
теперь двигаться вперед,
просто подумайте об этом.

00:42:48.520 --> 00:42:50.050
Если вы вернетесь после нескольких

00:42:50.050 --> 00:42:52.240
дней или пару месяцев
и вы читаете этот тест,

00:42:52.240 --> 00:42:53.320
Вы, как, "О, хорошо,

00:42:53.320 --> 00:42:55.510
Да, я тестирую
функциональность для государств.

00:42:55.510 --> 00:42:57.940
Нет ничего неоднозначного. Ничего
странно, все это имеет смысл.

00:42:57.940 --> 00:43:02.800
Это читается ". Да. Так что это
рамки, которые мы используем совсем немного.

00:43:02.800 --> 00:43:05.290
Это популярно ели
моя команда, и мы имели

00:43:05.290 --> 00:43:08.200
некоторые хорошие обратной связи обмена
это с другими людьми.

00:43:08.200 --> 00:43:12.475
Так вот как буквально
реализации это выглядит.

00:43:12.475 --> 00:43:14.935
Что мне осталось показать?

00:43:14.935 --> 00:43:17.485
Ладно, да. Так что я хочу
быстро вернуться сюда.

00:43:17.485 --> 00:43:19.600
Я покрыла много его прямо сейчас
когда я говорила об этом,

00:43:19.600 --> 00:43:23.815
но только другие полезные советы по тесту uI.

00:43:23.815 --> 00:43:25.570
Снова тест на реальных устройствах, как я

00:43:25.570 --> 00:43:28.135
прямо сейчас, это супер полезно.

00:43:28.135 --> 00:43:30.370
Если вы положили брейк-пойнты в тесты

00:43:30.370 --> 00:43:32.215
и вы задаетесь вопросом, как
поразить эти точки разрыва.

00:43:32.215 --> 00:43:34.000
Так что если вы просто дважды нажмите
и запустить тест,

00:43:34.000 --> 00:43:35.380
он не ударит их.

00:43:35.380 --> 00:43:37.330
Вы правый щелчок и делать отладку,

00:43:37.330 --> 00:43:39.760
и это то, что он начнет
поразив ваши брейк-пойнты.

00:43:39.760 --> 00:43:41.590
Я показала тебе заявление.

00:43:41.590 --> 00:43:45.145
Я показала тебе тестовые случаи
и категории.

00:43:45.145 --> 00:43:50.410
Это просто другие лучшие практики
что мы пытались поделиться,

00:43:50.410 --> 00:43:52.390
сохраняя его, что каждый пустынный

00:43:52.390 --> 00:43:54.580
независимой в пределах своего статуса
является хорошей практикой.

00:43:54.580 --> 00:43:57.370
Не связывайте цепные действия
потому что предположим, что один тест не удается,

00:43:57.370 --> 00:43:58.780
Вы не хотите, как
все остальное, чтобы потерпеть неудачу.

00:43:58.780 --> 00:44:01.540
Вы хотите некоторые полезные
информации, чтобы выйти.

00:44:01.540 --> 00:44:03.550
Будьте детерминированы.

00:44:03.550 --> 00:44:06.580
Вы можете положить в задние двери
которые вы можете вызвать в

00:44:06.580 --> 00:44:07.900
ваши приложения для таких вещей, как

00:44:07.900 --> 00:44:10.180
аутентификация или вы хотите
для обозначения службы передачи данных.

00:44:10.180 --> 00:44:13.190
Задние двери
великая вещь, чтобы посмотреть в.

00:44:13.200 --> 00:44:16.090
Что ещё? Старайтесь не цикл.

00:44:16.090 --> 00:44:20.290
Используйте хорошие утверждения, так что
ассорти элементы видны,

00:44:20.290 --> 00:44:21.430
вес, что элементы видны,

00:44:21.430 --> 00:44:22.630
вес элемент ушел.

00:44:22.630 --> 00:44:24.850
«Неразборчиво» отлично подходит для анимации.

00:44:24.850 --> 00:44:26.290
Так что если у вас есть
анимация перехода,

00:44:26.290 --> 00:44:27.850
убирая его далеко и ждать

00:44:27.850 --> 00:44:30.040
нет элемента является большой вещью, чтобы использовать.

00:44:30.040 --> 00:44:32.320
Избегайте Thread.Sleeps.

00:44:32.320 --> 00:44:34.015
Это худшее, что ты можешь.

00:44:34.015 --> 00:44:35.650
Не ставьте Thread.Sleeps.

00:44:35.650 --> 00:44:38.380
Опять же, просто будьте осторожны, если вы цикл.

00:44:38.380 --> 00:44:40.495
Петля не твой друг.

00:44:40.495 --> 00:44:42.220
Так что я пошел немного сверхурочных,

00:44:42.220 --> 00:44:45.620
но я могу быстро сделать
вопросы, так что вопросы.

00:44:46.230 --> 00:44:49.510
Просто идти вперед к микрофону так

00:44:49.510 --> 00:44:51.120
что все остальные
онлайн может услышать вас тоже.

00:44:51.120 --> 00:44:52.690
Поэтому, когда вы упомянули бэкдоры,

00:44:52.690 --> 00:44:54.955
Вы бы просто тогда написать
метод в коде?

00:44:54.955 --> 00:44:57.700
Да, точно. Таким образом, вы
хотите сохранить их для iOS,

00:44:57.700 --> 00:44:58.945
положить их в приложение делегата

00:44:58.945 --> 00:45:01.420
и на Android положить
ваша основная деятельность,

00:45:01.420 --> 00:45:03.430
а затем вы можете вызвать
то же имя строки

00:45:03.430 --> 00:45:06.470
в тесте, и вы можете
делать все, что вы хотите.

00:45:06.540 --> 00:45:09.070
Итак, для отчетов

00:45:09.070 --> 00:45:12.280
есть ли какие-либо планы на будущее
сделать визуализатор, как он,

00:45:12.280 --> 00:45:14.575
как у нас для XML дерево?

00:45:14.575 --> 00:45:16.780
Давайте поговорим об этом.
Приходите и встретимся в

00:45:16.780 --> 00:45:18.670
стенд, и я люблю слышать идеи.

00:45:18.670 --> 00:45:21.670
Я слышал эту обратную связь
и я люблю знать,

00:45:21.670 --> 00:45:22.780
больше, и мы можем посмотреть в

00:45:22.780 --> 00:45:24.895
что-то о делать
что-то вроде этого, да.

00:45:24.895 --> 00:45:27.220
Еще один на вашей базовой странице,

00:45:27.220 --> 00:45:29.665
Вы вернули это.

00:45:29.665 --> 00:45:31.630
Всегда возвращайте страницу неправильно.

00:45:31.630 --> 00:45:34.420
Так разве мы не должны ждать его?

00:45:34.420 --> 00:45:37.630
Так что если вы делаете загрузку данных
и ваш спиннер раньше,

00:45:37.630 --> 00:45:38.860
мы идем на страницу, у нас есть

00:45:38.860 --> 00:45:40.150
сделать что-то для этого особенно?

00:45:40.150 --> 00:45:44.095
Да, да. Таким образом, вы можете полностью
бросить его в том, что базовая страница.

00:45:44.095 --> 00:45:45.850
Это был всего лишь один из способов
использования базовой страницы.

00:45:45.850 --> 00:45:47.110
Я просто хочу подчеркнуть силу

00:45:47.110 --> 00:45:48.730
общие методы там.

00:45:48.730 --> 00:45:51.310
Вы можете на самом деле просто написать
расширение или как помощник,

00:45:51.310 --> 00:45:52.540
а затем положить что-то вроде,

00:45:52.540 --> 00:45:53.950
Вы знаете, что вы
ожидает анимации.

00:45:53.950 --> 00:45:55.990
Так что просто быть, как, эй, подождите
для спиннера уйти.

00:45:55.990 --> 00:45:57.415
Так что ждите, пока нет элемента,

00:45:57.415 --> 00:46:00.820
и положить в ID на спиннер
или просто использовать спиннер класса,

00:46:00.820 --> 00:46:02.890
, а затем просто проверить
что спиннер имеет

00:46:02.890 --> 00:46:05.050
ушел, а затем начать
делать свои действия. Да.

00:46:05.050 --> 00:46:07.995
Да, да. Последний вопрос, может быть,
это не совсем в вашем районе,

00:46:07.995 --> 00:46:09.360
но вы берете скриншоты.

00:46:09.360 --> 00:46:11.070
Есть ли что-нибудь, что вы можете сделать

00:46:11.070 --> 00:46:15.075
для сопоставления скриншоты
с предыдущими тестами, как,

00:46:15.075 --> 00:46:16.650
потому что, если вы делаете uI,

00:46:16.650 --> 00:46:18.120
Вы хотите знать, что
ваши элементы

00:46:18.120 --> 00:46:20.160
все еще на экране
вместо закадра,

00:46:20.160 --> 00:46:22.995
Я не знаю, если вы можете
сделать это в отчетах.

00:46:22.995 --> 00:46:25.575
Нет, не сейчас.

00:46:25.575 --> 00:46:29.440
Опять же, я слышал о людях
желая инструмент, который мог бы сделать это.

00:46:29.440 --> 00:46:30.895
Я думаю, что это отличная идея тоже.

00:46:30.895 --> 00:46:32.605
Единственное, что я могу думать о том,

00:46:32.605 --> 00:46:34.975
если вы загрузите эти тесты
в App Center,

00:46:34.975 --> 00:46:36.685
он генерирует эти отчеты для вас.

00:46:36.685 --> 00:46:38.200
Это будет как ручная проверка, хотя

00:46:38.200 --> 00:46:39.910
нет автоматизированного способа сделать это.

00:46:39.910 --> 00:46:42.370
Может быть, вы можете использовать когнитивные услуги
и построить этот инструмент,

00:46:42.370 --> 00:46:43.895
и я хотел бы помочь вам с этим.

00:46:43.895 --> 00:46:44.490
Хорошо, хорошо. Спасибо.

00:46:44.490 --> 00:46:44.990
Да, да.

00:46:44.990 --> 00:46:48.790
Привет, я заметил, что в
один из ваших тестов вы

00:46:48.790 --> 00:46:52.630
был метод сопротивления с
некоторые жестко закодированные Kubernetes.

00:46:52.630 --> 00:46:52.900
Да, да.

00:46:52.900 --> 00:46:54.100
Вопрос: Это даст вам проблемы

00:46:54.100 --> 00:46:55.180
на разных размерах до «неразборчиво»?

00:46:55.180 --> 00:46:57.565
Это полностью есть и
не рекомендуемый способ сделать это.

00:46:57.565 --> 00:46:59.875
Это было только для этой демонстрации,
Я просто хотел смахивать.

00:46:59.875 --> 00:47:01.090
Я даже не так хорошо смахнул,

00:47:01.090 --> 00:47:05.350
но идеальный способ на самом деле
сделать это снова запрос

00:47:05.350 --> 00:47:07.390
к этому элементу и использовать
х и у координаты

00:47:07.390 --> 00:47:09.880
потому что это мини-плеер
и у меня есть удостоверение личности для него.

00:47:09.880 --> 00:47:11.770
Таким образом, вы должны в
хорошей практикой делать это,

00:47:11.770 --> 00:47:14.140
и это то, что я буду
делать для фактического кода.

00:47:14.140 --> 00:47:15.790
Я хочу, чтобы PR это в Клэнси,

00:47:15.790 --> 00:47:17.785
очистить это, чтобы она выглядела лучше.

00:47:17.785 --> 00:47:20.560
Пожалуйста, зайдите и посмотрите
на это и дайте мне обратную связь

00:47:20.560 --> 00:47:23.140
или просто пойти и внести свой вклад
больше кода там. Так что да.

00:47:23.140 --> 00:47:24.310
Спасибо.

00:47:24.310 --> 00:47:27.100
Так что и есть на самом деле я
думаю, в моих корректоры

00:47:27.100 --> 00:47:29.500
как салфетки, чтобы показать
где вы можете положить дюйма

00:47:29.500 --> 00:47:31.015
Таким образом, вы убедитесь, что вы салфетки к нему.

00:47:31.015 --> 00:47:32.170
Да, вы можете салфетки к нему.

00:47:32.170 --> 00:47:34.165
Вы можете салфетки инструмент,

00:47:34.165 --> 00:47:36.370
принимает в или вы можете положить
на элемент, который вы хотите

00:47:36.370 --> 00:47:39.010
целевой или, как х и у
координировать вы хотите пойти.

00:47:39.010 --> 00:47:43.255
Да. Ладно, так же, как
еще два вопроса, я думаю, да.

00:47:43.255 --> 00:47:44.830
Мы часто обнаруживаем, что
когда мы записываем

00:47:44.830 --> 00:47:47.485
Тесты uI требуют тайм-аутов,

00:47:47.485 --> 00:47:48.820
что они отлично работают на

00:47:48.820 --> 00:47:50.950
местные машины и
наш сервер сборки, но они

00:47:50.950 --> 00:47:56.185
чувствовал себя постоянно отсутствует или
есть ли способ обойти это?

00:47:56.185 --> 00:47:58.105
Давайте встретимся на стенде.

00:47:58.105 --> 00:48:00.325
Я люблю видеть, что именно
происходит. Да.

00:48:00.325 --> 00:48:05.800
- Тесты на uI Xamarin
Рамки активно поддерживаются-

00:48:05.800 --> 00:48:06.130
Да, да.

00:48:06.130 --> 00:48:08.035
- потому что я
слышал что-то другое.

00:48:08.035 --> 00:48:10.495
Нет, это
активно работал.

00:48:10.495 --> 00:48:12.985
Он только что обновился до теста uI

00:48:12.985 --> 00:48:16.570
3.0, потому что теперь у нас есть
Поддержка NUnit 3.0.

00:48:16.570 --> 00:48:18.520
Так что да, они активно
работает над этим. Да.

00:48:18.520 --> 00:48:19.015
Спасибо.

00:48:19.015 --> 00:48:21.565
Хорошо, хорошо. Вот и все вопросы
Я могу взять прямо сейчас.

00:48:21.565 --> 00:48:22.660
Я буду на стенде,

00:48:22.660 --> 00:48:23.980
так что, пожалуйста, приходите и найдите меня и

00:48:23.980 --> 00:48:25.585
задайте мне все другие вопросы
что у вас есть.

00:48:25.585 --> 00:48:28.240
Мне бы очень хотелось посмотреть на любой код теста uI
что вам нужна помощь,

00:48:28.240 --> 00:48:30.320
но большое вам спасибо.

