Задания по Python

Отменен
Заказ
1031487
Раздел
Программирование
Предмет
Тип работы
Антиплагиат
Не указан
Срок сдачи
24 Ноя 2017 в 16:10
Цена
1 200 ₽
Блокировка
10 дней
Размещен
24 Ноя 2017 в 11:12
Просмотров
264
Описание работы
Інструменти та оточення
Реалізація завдань на тестування виконується мовою Python (бажано - версії 3.5 або новіше, прийнятно - версії 2.7) з використанням модуля unittest. Тестування front-end - виключно для браузера Google Chrome (потрібно мати встановлений chromedriver) з використанням Selenium for Python.

Завдання
Перше завдання кожного рівня стосується тестування графічного інтерфейсу сайтів, друге передбачає написання unit тестів для Python модулів. У кожному рівні треба виконати тільки одне завдання. Бажано обирати завдання різного спрямування, наприклад, перше у першому рівні та друге - у другому, або навпаки. Якщо з якимось типом завдань виникають складнощі, припустимо виконати завдання одного спрямування у двох рівнях (тільки перші або тільки другі).
Що взагалі оцінюється?
● розуміння The Zen of Python
● дотримання PEP8
● знання основних принципів тестування
● базове розуміння будови графічного інтерфейсу web-ресурсу та взаємодія з DOM.
Якщо проблеми виникають саме з використанням Python - можливо запропонувати рішення з використанням псевдо-коду або іншої мови програмування.
Перший рівень
Реалізувати тести, описані наступними тестовими випадками:
Зміст тесту Дія Очікуваний результат
Заголовок сайту python.org містить слово ‘Python’ Перейти на сторінку за адресою https://www.python.org/, дочекатися її завантаження Слово ‘Python’ входить у строку, яка міститься у title
За кліком на кнопку ‘About’ на сайті python.org відбувається перехід на іншу сторінку. Перейти на сторінку за адресою https://www.python.org/, дочекатися її завантаження. Виконати клік на елементі з css-селектором ‘li#about’. URL сторінки, що відкриється, буде https://www.python.org/about/
Результат виконання завдання: модуль з двома тестовими функціями у ньому.
або
Приведена нижче функція приймає об’єкти типу list довільної довжини, які містять тільки int 0 або 1, інвертує один довільний елемент та повертає результуючий list. Зробити цей код працездатним та створити тест, який перевірить, що було виконано одну заміну:
def mutate(some_list):
mutation_position = random.choice(range(len(some_list))
if some_list[mutation_position] == 0:
some_list[mutation_position] = 1
else:
some_list[mutation_position] = 0
return some_list
Результат виконання завдання: модуль, що містить функцію mutate у працездатному стані та модуль із одним тестом.
Другий рівень
Створити тестовий клас, що перевірятиме наявність елементів для реєстації за допомогою облікових записів Google та Facebook, а також форми (три поля даних та кнопка Sign Up) реєстрації на сайті https://stackoverflow.com. Перевірити, що за спроби реєстрації через форму без введення електронної адреси і паролю, буде показано відповідне попередження.
Результат виконання завдання: модуль, що містить клас тестів із щонайменше трьома тестовими функціями у ньому.
або
Розробити усі необхідні юніт тести для наведеної нижче функції, виконати її рефакторинг:
import random
def mutate_text(text):
allowed_symbols = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' ', ',', '.']
if not isinstance(text, str):
raise TypeError('Argument is not a string!')
for symbol in text:
if symbol not in allowed_symbols:
raise ValueError('Text contains some undesirable symbols')
sentences = text.split('.')
for s_index in range(len(sentences) - 1):
sentences[s_index] = sentences[s_index].strip()
s_index_to_mutate = random.choice(
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир