2011-01-18 2 views
1

Вопросы, относящиеся ...BDD и UI Testing

У нас есть приложение WPF MVVM, использующее IronRuby. Мы используем диспетчер докеров DevExpress. У нас есть тесты огурца (заставить его работать на IronRuby, наша команда возглавляла через dolorosa)

Часть наших требований позволяет пользователю сохранять макет своего экрана. Каков хороший способ обернуть тесты BDD вокруг этого?

Макет сохраняется, когда пользователь закрывает приложение.

Вот моя первая идея.

  1. Огурец открыть приложение.
  2. Используйте огурцы bewildr и/или белые, чтобы переместить материал. (Трудно имитировать пользователя, перемещающего макет.)
  3. Сделайте снимок экрана или что-то в этом роде.
  4. Закрыть приложение.
  5. Откройте приложение еще раз.
  6. Сделайте снимок экрана или что-то в этом роде.
  7. Сравните скриншоты или что-то

См, в то время как это будет работать, я думаю, что его замысловатым способом получить вещи сделано. Я надеялся, что кто-то здесь может дать мне предложение о том, что «что-то» на вышеуказанных шагах может быть.

ответ

0

Белый основан на автоматизации пользовательских интерфейсов, и если он не поддерживает стыковку и ограничивающие прямоугольники, вы всегда можете вникнуть в шаблоны автоматизации пользовательского интерфейса и использовать их. Попробуйте использовать DockingPattern и BoundingRectangleProperty на интересующих вас панелях. Это должно позволить вам записывать, где они состыкованы и какой размер они, по крайней мере.

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

0

Элементы Bewildr будут иметь методы «ширина» и «высота», доступные в следующей версии (через несколько дней - код проверен и работает). Я думаю, вы могли бы использовать их, чтобы получить размер элемента, чтобы увидеть, остается ли он во всех приложениях перезагрузки. Вы также можете использовать метод «clickable_point», чтобы узнать, перемещается ли точка клика элемента (обычно центральная точка) через приложения-перезагрузки - немного взломана, но она будет работать ...

Смежные вопросы