2008-11-06 3 views
3

Мы пишем относительно тяжелый C# GUI с некоторыми компонентами syncFusion (GUI framework). Я хотел бы добавить возможности ведения журналов клиентов, которые QA может использовать для воспроизведения событий клиента, чтобы анализировать ошибки или другой рабочий процесс, используемый клиентом для производства.Графический регистратор событий и воспроизведение

Есть ли такой готовый модуль для записи и воспроизведения всех нажатий клавиш, событий мыши и т. Д.? (C++ модуль может работать тоже, если она может быть легко интегрирован в окна C# клиента.)

Я хотел бы также использовать журналы генерироваться для анализа, какие функции клиента были использованы самые и какие функции редко когда-либо использовались для того, чтобы решить , какие ошибки должны получить приоритет и какие функции следует удалить/усиление? Так что в основном я бы хотел, чтобы клиент записывал журнал на локальный диск или по сети обратно на сервер.

Я также немного обеспокоен производительностью, некоторые хиты приемлемы, но любая идея сколько будет регистрировать каждое событие, ухудшающее производительность клиента?

Пункт должен состоять в регистрации всех событий клиента в производстве, а не тестирования QA per se.

Редактировать на основе комментариев Aydsman в: После прочтения old similar discussion, а также Benji's site выглядит как есть большой интерес к этому типу «приборной панели», но не открытый или закрытый продукт или решение не существует в настоящее время. Я опубликовал вопрос о статусе на сайте Бенджи, но сайт выглядит довольно тихо, без ответов с июня. Идеи Бенджи более или менее точно то, что я искал, но ни один продукт, кажется, еще не существует, что довольно удивительно, я полагаю, что отсутствие существующих продуктов означает, что внедрение такой системы должно быть более сложным, чем я изначально думал. Будут продолжать искать и надеяться найти что-то позже.

+0

Если вы сделаете это подавляющий консенсус по моему предыдущему вопросу (HTTP: // StackOverflow.com/questions/143681/what-is-the-best-method-to-gather-data-about-the-use-of-your-application), убедитесь, что пользователи дают разрешение на отправку любых данных обратно вам. – 2008-11-07 02:29:17

+0

Я только заметил этот комментарий, по какой-то причине шрифт для комментариев крошечный по сравнению с ответами, спасибо за эту ссылку, это определенно относится к тому, что я думал. Я прочитаю ответы на ваш вопрос и посмотрю, помогают ли они в моем проекте. – 2008-11-07 21:06:19

+0

Нашел эту ссылку в комментариях: http://benjismith.net/index.php/2008/06/13/analytics-gui-mockup/#comments Но похоже, что нет загрузки, мне интересно, если Бенджи или кто-то еще работает над таким продуктом? Похоже на то, что мне нужно. – 2008-11-10 22:25:21

ответ

1

Как уже упоминалось другими плакатами здесь, есть коммерческие продукты, которые делают такие вещи. Если вы хотите написать свой собственный, вам нужно создать так называемую DLL System Hook. Это можно сделать на C++ довольно просто. Если вы его создадите, вы можете легко интегрировать его с помощью pinvoke. На самом деле, я хотел бы начать с pinvoke.net для людей, которые уже сделали что-то подобное.

Крючок DLL позволяет перехватывать все события мыши и клавиатуры. Вы также можете вводить события мыши и клавиатуры. Поэтому, если вы поместите эти два вместе: intercept = record и inject = воспроизведение.

Вот хороший список статей, чтобы вы начали: Code Project Hook DLLs

0

Зачем писать код, когда вы можете купить продукт для автоматического тестирования графического интерфейса?

-1

Слышали ли вы о log4net? Я использовал его в небольшом масштабе в одном проекте - он может удовлетворить ваши потребности. Я также провел некоторое исследование методов Aspect-Oriented и IoC для регистрации. В зависимости от конкретной технологии существует некоторое влияние на производительность, но она может облегчить обслуживание зарегистрированного кода. Порт Spring.NET для Spring Framework предлагает несколько вариантов общего ведения журнала уровня метода. Вы можете использовать некоторую комбинацию из них для генерации файлов сценария «сценарий» и модуля «повтора», который мог бы считывать и повторно выполнять зарегистрированные действия в тестовой среде.