Как реализовать автоматизацию действий пользователя?
Нужна идея для курсового проекта, из интересных пришло в голову только автоматизация действий пользователя посредством записи 1 раз действий, в будущем добавления условий, ну и других фич, ну и оформить все это в удобном интерфейсе.
На сколько сложно это реализовать, какие есть библиотеки которые возможно помогут в разработке.
Чтобы хоть более-менее понимать с чего начинать и какой масштаб.
Буду делать только под Windows.
Если вы сами никогда не занимались автоматизацией тестирования и берётесь за создание библиотеки, которая должна "помочь", то у меня для вас плохие новости...
Захаров Александр, ну чисто по моей логике, у Windows есть API, соответственно получение данных о базовых действиях по типу клика мишкой или ввода текста, а после выполнение этих же действий, не должно вызвать больших проблем, остальное - это дело оформления.
Мне не нужно создавать что-то огромное и универсальное - мне нужен лиш небольшой прототип.
mykolaim, Есть такой закон Мёрфи: Чем проще инструкция (например, "Нажмите здесь"), тем труднее найти, где же все-таки нажимать.
В этом и состоит основная загвоздка. Не все приложения одинаково обрабатывают нажатия. В некоторых приложениях до кнопок и полей ввода вообще не добраться. В некоторых sendkeys не работают. Всё очень индивидуально.
Гляньте вот этот проект: https://github.com/TestStack/White Может быть даже простое его освоение уже может пойти за диплом. C# TestStack.White For Beginners, Automation testing using open source tools
Или вот посмотрите один из мощнейших платных инструментов, которые существуют для автоматизации работы с UI: https://www.uipath.com/ Безумно дорогой. И писали его много лет.
Я не хочу вас отпугивать от поиска решения, просто предупреждаю, что это очень очень сложно. Но вдруг это именно то, что вы хотите?
А можно уточнить название курса, к которому курсач нужно сделать? Просто тут такое дело - зачем тратить время на разработку чего-то, что никому и никогда не будет полезно и не пригодится? Таких тулов бесчисленное колличество - open-source в том числе. Тут либо помогать их развивать, либо другую тему искать.
Нет ничего хуже в образовании, чем бесполезные курсачи и дипломные работы. Встраиваться нужно в индустрию с молоду. Всегда найдется место где приложить не очень квалифицированные усилия. Нужно только правильный вопрос задать народу.
Технологии создания программных продуктов.
Ограничений по теме нет, мне ближе веб по душе, но препод что-то там говорил "сайт это слишком просто", но переубеждать таких людей себе дороже, вот и пытаюсь найти какую-то интересную идею.
О! так веб != сайт. Например, на веб-технологиях (javascript, nodejs) можно построить вполне себе сервис. Сразу предлагаю не изобретать велосипед, а использовать готовые компоненты для создания полезного решения.
Например, на вскидку:
1. Сервис выявления невнимательных студентов на базе распонавания эмоций на лицах (таких бесплтных полно, в частности у Microsoft есть). Считываем с камеры ноутбука изображение аудитории, выделяем там лица (с использованием готовых алгоритмов), определяем эмоции на каждом лице (с использованием готовых сервисов), ведем/сохраняем статистику.
2. Сервис конспектирования лекций. Через готовый API SpeechToText конвертирует лекцию препода в конспект, который затем по окончании лекции рассылает по базе Email-ов.
Если с сервисом страшновато, то можно сделать полезную библиотечку. Но тут сложнее что-то посоветовать, нужно понимать возможности, интересы...
Забыл ко второму пункту - чтобы поинтереснее было, нужно по ключевым словам делать фотки и вставлять в констпект, типа "Обратите внимание на доску..." или "на доске я изобразил" - крутяк, не? :)