Перейти к содержимому

Фотография

поймать главное окно


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 27 мая 2011 - 14:29

Добрый день!

У меня акая проблема: Как поставить фокус обратно на тестируемое окно, если он слетел?

пробовала $this->selenium->selectWindow("selenium_main_app_window"); ("selenium_main_app_window" - единственное окно из getAllWindowNames)

не получается
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 27 мая 2011 - 15:19

selectWindow(null)
  • 0

#3 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 31 мая 2011 - 07:08

вот такая конструкция возвращает false
$this->assertTrue($this->selenium->selectWindow(null));

соответственно не ставится фокус(
  • 0

#4 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 31 мая 2011 - 07:12

Вообще-то selectWindow void, т.е. ничего не возвращает. Вам нужен фокус или всё-таки выбор окна которое будет текущим?
  • 0

#5 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 31 мая 2011 - 07:21

У меня сценарий вводит в поле данные, нажимает пробел и при этом активизируется кнопка на которую далее жмет.

Однако, если во время выполнения скрипта ( заполнения поля данными) я щелкну, например на рабочий стол, кнопка не активизируется.

Сделала проверку:
do
{
$this->selenium->selectWindow(null)
$this->selenium->Focus($this->DataFrame);
$this->selenium->click($this->DataFrame);
}while ($this->selenium->isEditable($this->okPhoneLocator) == false);

То есть если кнопка не активизировалась - кликнуть на рабочую область. Если делать ручками все работает, однако скрипт - нет, бесконечно крутит цикл и все.

Я думала, что проблема в том, что скрипт теряет фокус главного окна
  • 0

#6 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 31 мая 2011 - 08:13

Встречался с таким поведением JQuery, зачем-то там была проверка фокуса :) А если пока крутится ваш цикл вы руками щёлкните на окно FF, то из цикла выходит? Я бы нашёл где там проверяется фокус, дал бы разработчикам по рукам, удалили бы кривой код и навсегда забыли бы о проблеме. Поэкспериментируйте, попробуйте вернуть фокус через JS, нативные методы... Вообще винда не даёт приложениям переключать на себя фокус когда вздумается.
  • 0

#7 NIgh-Cat

NIgh-Cat

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 31 мая 2011 - 11:07

Да, действительно, если кликнуть на окно, из цикла выходит.
Разработчикам, к сожалению, нет шанса дать по ушам(

Я правильно понимаю, надо двигаться в сторону $this->selenium->getEval() и выполнять в нем js-инструкцию?

selenium.browserbot.getUserWindow().focus() не сработала(


Up.
Проблему решила!

Если в цикле будет:

$this->selenium->getEval( "selenium.browserbot.getCurrentWindow().focus()");
А затем клик на любой элемент формы на которой находится кнопка!

Спасибо за советы!
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных