0. grumagargler 516 19.07.18 22:19 Сейчас в теме

Тестер: частые вопросы

Ошибкам бой - тесты норма жизни!

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. olegtymko 146 26.07.18 05:27 Сейчас в теме
Огонь! Надо будет попробовать вашу систему тестирования.
Max27; grumagargler; +2 Ответить
2. karpik666 2352 26.07.18 09:13 Сейчас в теме
Подскажите тестер только для управляемых форм или для обычных тоже подойдет?
4. grumagargler 516 26.07.18 15:09 Сейчас в теме
(2) только для управляемых
3. ivanov660 1150 26.07.18 11:03 Сейчас в теме
Подскажите:
- Запуск через командную строку еще не реализовали?
- И выгрузку результатов выполнения в один из форматов отчетов XML JUnit, Allure или другой?
5. grumagargler 516 26.07.18 15:15 Сейчас в теме
(3) Запуск тестера с передачей ключей был изначально, но вероятно я не понял ваш вопрос.
Тесты, скрипты для CI и отчетность, всё внутри тестера, делать внешнюю задач пока не поступало.
6. acsent 1132 15.10.18 16:53 Сейчас в теме
Но почему бы не писать обработки тестирования, а не скрипты. тогда с раскрасской нет проблем.
Типо как в xUnitFor1C
7. grumagargler 516 15.10.18 18:08 Сейчас в теме
(6)
Но почему бы не писать обработки тестирования, а не скрипты. тогда с раскрасской нет проблем.

Причин много, вот некоторые из них:
- скорость написания-запуска, в одном окне на втором мониторе
- скриптами легче манипулировать, это текст. В тестере, в дереве их легко искать, открывать в отдельных вкладках, запускать, смотреть версии, синхронизировать (выгружать/загружать), делать глобальный рефакторинг
- код скрипта дорабатывается тестером перед запуском для возможности контроля исполнения каждой строки кода, замера времени, формирования полного пути в случае ошибок (в случае взаимосвязанных тестов).

С синтаксической подсветкой проблем уже нет, есть интеграция с vscode
8. Fragster 879 09.11.18 15:31 Сейчас в теме
Отличный инструмент, действительно удобно. Жду развития плагина для vscode (почти всегда неправильно работает intellisense по элементам управления :))

При использовании возник вопрос:

Как проверить данные в табличной части?

ОписаниеСтроки = Новый Соответствие();
ОписаниеСтроки.Вставить("Колонка 1", "Представление 1"); // возможно ли тут использовать не представление, а значение?
ОписаниеСтроки.Вставить("Колонка 1", "Представление 2"); // возможно ли тут использовать не представление, а значение?
Список = Получить("!ТабличнаяЧасть");
Если Не Список.ПерейтиКСтроке(ОписаниеСтроки) Тогда
	ВызватьИсключение "Строка не найдена";
КонецЕсли;

Проверить ( "!ТабличнаяЧастьПоле", ОжидаемоеЗначение); // тут ошибка 18: Неподходящий тип элемента управления для вызванного действия. 
Показать
9. Fragster 879 09.11.18 15:53 Сейчас в теме
(8) Методом тыка определил, что для полей табличных частей всегда надо указывать родителя:

Проверить("!ТабличнаяЧасть / !ТабличнаяЧастьПоле", 19500); // для текущей строки
Проверить("!ТабличнаяЧасть / !ТабличнаяЧастьПоле [3]", 19500); // для строки по номеру
10. grumagargler 516 09.11.18 18:52 Сейчас в теме
(9) День добрый! Спасибо за отзыв!
Для проверки, вы еще можете передать родителя в виде третьего параметра:
таблица = Получить ( "!Товары" );
Проверить("!ТабличнаяЧастьПоле", 19500, товары);

Развитие плагина идет, но пока интелисенс работаем в основном на подброс названия поля по типу, согласно открытого в текущий момент тестового приложения.
Приглашаю вас в чат, там я смогу более оперативно отвечать на вопросы.
11. Fragster 879 09.11.18 19:41 Сейчас в теме
Еще прошу добавить в ЧаВо - для проверки шаблона таблицы, открывающейся в новом окне табличного документа - в качестве имени поля надо передавать пустую строку (на странице элементов формы отображается <Поле>)

Нажать("!ФормаПечатьРасчета");
Здесь();
ПроверитьШаблон ( "" );
grumagargler; +1 Ответить
12. user670203_terskovaoa 27.12.18 16:23 Сейчас в теме
Здравствуйте. Как можно проверить открыта кассовая смена или нет, если нет то нажать открыть ее, а если да, то дальше работать с кассой???
13. grumagargler 516 27.12.18 17:15 Сейчас в теме
(12) Добрый день. Для этого можно воспользоваться методом Дождаться () с передачей заголовка нужного окна. Метод вернет ложь, если такого окна найти не удается, и в этом случае вы можете инициировать открытие нужного документа/формы обработки. Если останутся вопросы - приходите в чат поддержки на https://gitter.im/tester1c/Lobby
14. user670203_terskovaoa 27.12.18 17:28 Сейчас в теме
Спасибо. Это не форма и не документ, это получается кнопка на форме "Открыть смену" и "Закрыть смену"
15. sCHTASS 49 23.01.19 08:57 Сейчас в теме
Не совсем по теме, но может кто даст ответ.
Нужно написать проверку попытки пользователя записать пустой документ - документ не должен записываться в этом случае. Код теста обернул в Попытка-Исключение, чтобы анализировать ошибку. Но все равно тест падает с ошибкой. Что тут можно сделать?
16. grumagargler 516 23.01.19 17:13 Сейчас в теме
(15) Я боюсь не понял ваш случай, но попробую привести пару соображений.
Если ваш документ при записи дает ошибки заполнения реквизитов, которые отображаются внизу, в виде сообщений, и вы хотите самостоятельно определить есть эти ошибки или нет, тогда такой под может помочь:
Здесь ();
Нажать ( "#ФормаПровестиИЗакрыть" );
попытка
	ПроверитьОшибки ();
исключение
	Стоп ( "Ошибка проведения документа!" );
конецпопытки;


Кроме этого, в конце выполнения теста, тестер сам проверят есть ошибки или нет. Чтобы это отключить - в коде теста напишите:
СтандартнаяОбработка = ложь;
17. sCHTASS 49 24.01.19 05:25 Сейчас в теме
(16) Мне нужно проверить, чтобы пустой документ нельзя записать. Я его создаю и пытаюсь записать через кнопку "Записать". При выполнении метода Нажать() валиться тест с ошибкой.
18. grumagargler 516 24.01.19 07:06 Сейчас в теме
(17) код выше, по идее и решает эту задачу. Вместо #ФормаПровестиИЗакрыть напишите #ФормаЗаписать. Платформа попробует записать документ. Если ошибки будут - вы попадете в исключение, если ошибок не будет, тогда код продолжит своё выполнение. Вот пример:
Здесь ();
Нажать ( "#ФормаЗаписать" );
попытка
    ПроверитьОшибки ();
    ошибокНебыло = истина;
исключение
    ошибокНебыло = ложь;
конецпопытки;
если ( ошибокНебыло ) тогда
    Стоп ( "Запись пустого документ должна была быть с ошибкой!" );
конецесли;
Сообщить ("Ошибки были показаты, всё хорошо");
СтандартнаяОбработка = ложь; // чтобы тестер не выдал ошибку, он же не знает, что наличие ошибки - не ошибка
Показать
19. sCHTASS 49 24.01.19 10:35 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Программист 1С
Новосибирск
зарплата от 80 000 руб.
Полный день

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день