Невозможно сфокусироваться на новой открытой вкладке с IDE Селен - PullRequest
1 голос
/ 09 февраля 2011

Я пытаюсь создать какой-нибудь веб-тест с IDE Селена. Но у меня есть одна проблема, когда я нажимаю на ссылку JavaScript, он открывает новую вкладку. Мне нужно выполнить некоторую проверку на этой новой вкладке, но я не могу получить его фокус, который все еще находится на главной странице. Я попробовал несколько вещей, которые я искал в Google, но мне это не удалось. Я надеюсь, что кто-то может мне помочь.

Заранее спасибо.

Обновление:

Итак, я попробовал несколько вещей и думаю, что у меня хороший путь.

Я могу получить имена окон с:

StoreAllWindowNames names echo names = $ {name}

У меня есть что-то вроде:
, 987dfg4545sdfgsd

Кажется, что значение перед "," является NULL, поэтому страница по умолчанию, а другое значение - это имя моей страницы.

Но я не могу открыть его с помощью selectWindow.

Кто-нибудь знает, как мне это сделать?

Заранее спасибо.

Подробнее о моих тестах на селен:

<tr>
    <td>setSpeed</td>
    <td>1000</td>
    <td></td>
</tr>
<tr>
        <td>selectWindow</td>
    <td>null</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=Show Tree...</td>
    <td></td>
    </tr>
    <tr>
    <td>storeAllWindowNames</td>
    <td>names</td>
    <td>array</td>
</tr>
<tr>
    <td>echo</td>
    <td>${names}</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td>${names}</td>
    <td>30000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>name=${names}</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>link=Search</td>
    <td></td>
</tr>

Результаты:

* [info] Executing: |setSpeed | 1000 | |
* [info] Executing: |selectWindow | null | |
* [info] Executing: |click | link=Show Tree... | |
* [info] Executing: |storeAllWindowNames | names | array |
* [info] Executing: |echo | ${names} | |
* [info] echo: ,bdae1e119a367a54
* [info] Executing: |waitForPopUp | ${names} | 30000 |
* [error] Timed out after 30000ms
* [info] Executing: |selectWindow | name=${names} | |
* [error] Window does not exist. If this looks like a Selenium bug, make sure to read http://seleniumhq.org/docs/04_selenese_commands.html#alerts-popups-and-multiple-windows for potential workarounds. 

Где bdae1e119a367a54 - это динамическое значение, которое я хочу получить.

Я нашел Маха, который кто-то сделал, но он не работает для меня, он возвращает ноль

http://old.nabble.com/How-can-I-access-the-second,-third..-element-of-a-stored-array--td9393201.html

Ответы [ 2 ]

0 голосов
/ 22 марта 2012

Попробуйте это

click              link=Show Tree...
pause              5000
selectWindow       name=${names}
windowFocus
click              link=Search

ИЛИ

storeEval | this.browserbot.findElement('link=Show Tree...').href | myUrl |
open | ${myUrl} ||

ИЛИ

disable the tab feature setting in browser to work with multi-window.
0 голосов
/ 22 марта 2012

Работает ли эта функция, зависит от того, какой браузер вы используете.

Я бы посоветовал вам попробовать другой браузер.

...