Кейс: Тестирование в Геткурс на 3 попытки

Задача стоит следующая — дать ученикам возможность ответить на тестирование в Геткурсе только 3 раза. Сложность заключается в том, что настройками Геткурса мы можем сделать на тест одну попытку или бесконечное количество — других значений нет. Поэтому идём нестандартным путём.

Обновление: появился функционал в настройках, который позволяет задавать количество попыток. Но разобранный ниже вариант содержит интересное решение и скрипты, которые пригодятся вам в работе.

Если мы не можем задать в одном тесте 3 попытки, то что? Правильно. Делаем 3 одинаковых теста по одной попытке. И все сводится к тому, что если не пройден первый тест — его прячем и показываем второй и т.д.

Далее можно пойти двумя путями.

Первый вариант

Делаем 3 урока с тестами в задании. Первый показываем, остальные 2 скрываем.

скрытые уроки в геткурсе

Всем этим управляем процессом со входящим условием «ответ на первый урок». И внутри надо проверить — если ответ принят, значит ученик сдал тест и делаем что-то своё. Если ответ не принят, значит баллов не хватило, значит прячем урок и открываем второй. И по такому принципу дальше.

Второй вариант

Здесь все будет без процесса и внутри одного урока. Мне этот вариант больше нравится, поэтому подробнее его и распишу.

Создаем тесты в уроке

Создаем исходный тест и копируем его столько раз, сколько у нас запланировано попыток. В моем случае их 3.

Напрямую тестирование в контент урока не поставить, поэтому создаем простой лендинг в Геткурсе и вставляем 3 блока с нашими тестами.

добавление блока тестирование

Можно добавить дополнительные блоки. В моем случае это просто заголовок.

блоки с тестом

Также не будет лишним добавить блоки для успешной сдачи теста и нет.

дополнительные блоки для теста

Здесь же сразу размечайте дополнительными классами все блоки. Например, те, которые относятся к «попытке 1», я назвал test1 и прописал это в настройках стиля.

прописываем стили для блоков

Во все остальные блоки обязательно добавляем второй стиль, чтобы по умолчанию они были скрыты от учеников.

стиль для скрытия блоков

С лендингом закончили. Переходим в нужный урок и через специальный блок вставляем нашу страничку с тестами.

блок другая страница

Теперь в блоке с уроком добавляем 2 класса в настройках стиля. Первый — произвольный, мы его будем прописывать в скрипте. Второй — прячет блок с заданием для учеников. То есть смысл в чем. Изначально блок ДЗ ученикам будем скрывать, и покажем, только если они пройдут тест. В ДЗ-шке они отмечают галочку, что тест пройден, и урок теперь тоже будет считаться пройденным (в моем примере — это стоп-урок, который дает доступ к следующим). Это не обязательно, поэтому смотрите по своей ситуации.

стили для блока с дз

Настраиваем тестирование

Теперь переходим к заключительной части. К написанию js-кода, который будет делать основную работу. Идем в настройки теста. Выставляем диапазоны баллов и пишем по необходимости текст.

настройки диапазонов тестирования

Переключаемся в режим кода и добавляем следующую конструкцию. Если баллов будет от 0 до 44, то ученику покажется верхнее поле с текстом, которое содержит в себе скрипт. Который в свою очередь прячет блок с тестом 1 и показывает 2. Похоже поступает нижний блок.

настройки 1го теста

Аналогично прописываем в тесте 2 настройки:

настройки 2го теста

А в третьем будут небольшие изменения, так как это последняя попытка и в случае неудачи, нужно открыть другой заданный блок:

настройки 3го теста

Вот, собственно, и вся настройка. По этому принципу вы можете делать на любое количество прохождений теста, и дальше «играться» с этим скелетом — запускать процессы и различные автоматизации.

Оцените статью
Добавить комментарий

  1. Александр

    Добрый день, подскажите а как реализовать 3 попытки тестирования, если тест делать не в уроке, а на отдельной странице?

    Ответить
    1. Василий Брежнев автор

      добрый день, здесь во втором варианте тесты и создаются на лендинге, который в свою очередь просто подгружается в урок. Поэтому вам тут нужно делать все то же самое, только непосредственно на созданной странице с тестами

      Ответить
  2. Ирина

    Здравствуйте, «значит прячем урок». Это как можно сделать?

    Ответить
    1. Василий Брежнев автор

      Добрый день, в процессах есть действие «забрать доступ к уроку», оно и скрывает у пользователя урок. По аналогии там есть действие «дать доступ к уроку»

      Ответить
      1. Ирина

        Но если не дать доступ к уроку, то будет выходить ошибка при забрать доступ. А у вас получается, что первый урок уже изначально открыт, т.е. нет блока дать доступ к уроку.

        Ответить
        1. Василий Брежнев автор

          да, это пока такая особенность в функционировании — чтобы процессом можно было прятать урок, его нужно сперва сделать скрытым, а потом открыть процессом. Здесь просто первый вариант через отдельные уроки не разбирается подробно, поэтому я про это не писал, но это подразумевал)

          Поэтому если вы хотите через первый вариант делать тестирования, то изначально все уроки скрываются и первый открывается процессом. А дальше уже по нужной вам механике

          Ответить
          1. Ирина

            Понятно, спасибо!

  3. Ирина

    Здравствуйте, а скажите, пожалуйста, блоки «отлично вы прошли тест» и «к сожалению вы не прошли тест» какие должны быть настройки? Сейчас получается блок отлично вы прошли тест сразу виден.

    Ответить
    1. Василий Брежнев автор

      добрый день, с ними аналогично — задаете в стилях каждого блока 2 записи: «view-collapsed» (чтобы изначально скрыть) и, например, «yes»/»no» (для сдал/не сдал). И в скрипте в тесте вы добавляете строчку. Если сдали, то у блока «yes» убрать класс «view-collapsed», получается: $(‘.yes’).removeClass(‘view-collapsed’);

      Ответить
      1. Ирина

        Что-то не работает, прошла первый тест, вышло сообщение «К сожалению, вы не набрали определенное количество баллов» и все, дальше ничего не происходит

        Ответить
        1. Василий Брежнев автор

          напишите мне, пожалуйста, в телеграм @gcsetup, тут сложнее будет понять причину

          Ответить