Показать сообщение отдельно
Старый 18.04.2012, 23:36
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 11  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от PainKiller Посмотреть сообщение
как вариант можно написать бота, например как здесь, но мне это кажется перебором, кликанье ничем не заменить.
Ссылка битая

2 Psycho Tiger: т.е. все равнозначные контроллеры наследуются от общего, который использует одно и то же хранилище вьюшек? Ну да не суть. Идею понял, в настоящий момент пытаюсь воплотить со своими поправками, интересно, что получится.

2 wvxvw:
У меня была скриптовая система, но заточить на что-то большее чем составные читы не вышло. В итоге я её выпилил, т.к. оказалось, что на as3 тоже самое налепить эффективнее по многим параметрам (даже учитывая небыстрый наш компилятор mxmlc). А вот о возможности динамической генерации скрипта при записи сценария и позабыл. Вчитываюсь...

Действительно, тяжеловато понять что тут происходит. Итересно, как бы эта система выглядела для простого сценария:
- юзер нажал кнопку "открыть окно"
- юзер дождался, пока пройдут все асинхронные процессы и окно таки откроется
- юзер нажал кнопку "сделать ерунду"
- убедиться что в ответ на нажатие кнопки "сделать фигню" появился Alert "вы делаете фигню, нельзя!"

С глобальным регистром view[class of view] еще что-то могу представить:
Не мудрствуя лукаво, создаем конвеер Потапенко и добавляем туда задачи:
- юзер нажал кнопку "открыть окно"
берем у главной вьюшки кнопку по геттеру и эмулируем нажатие:
Код AS3:
_mainView.openWindowButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
- юзер дождался, пока пройдут все асинхронные процессы и окно таки откроется
долбим по ENTER_FRAME следующее
Код AS3:
   _window = register.getView(Window)
   if (_window == null)
   {
      _numTicks++;
      if (_numTicks > waitLimith)
      {
           throw "не дождались!";
      }
   }
   else
   {
        //дождались
        _conveyor.play();
    }
- юзер нажал кнопку "сделать ерунду"
Код AS3:
_window.makeBadThingButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
- убедиться что в ответ на нажатие кнопки "сделать ерунду" появился Alert "Вы делаете ерунду, нельзя!"
Код AS3:
   var alert:Alert  = register.getView(Alert);
   if (alert == null)
   {
      _numTicks++;
      if (_numTicks > waitLimith)
      {
           throw "мы ждали, ждали, а окно Вы делаете ерунду так и не всплыло";
      }
   }
   else
   {
        if (alert.text != "Вы делаете ерунду, нельзя!")
        {
             throw "Вообще-то, мы ожидали другое окно";
        }
        _conveyor.play();
    }
А вот со скриптом как это будет вообще не представляю


Последний раз редактировалось expl; 19.04.2012 в 00:05.