Как разобрать URL из строки в селен IDE - PullRequest
2 голосов
/ 03 ноября 2011
  • Я использую SIDE 1.3.0 вместе с FF 6.0.2.
  • Я сохранил строку, используя команду store text, которая содержит «URL», используя следующую команду.

    storeText

, что приводит ккак

MyCode = "<iframe src="http://myportal.com/mysales/Agent/index/4eb29642ce24e8.22143850/embedded" height="650" width="605" frameBorder="0"></iframe>"

Мне нужно иметь только часть URL в другой переменной из строки выше "http://myportal.com/mysales/Agent/index/4eb29642ce24e8.22334455/embedded", чтобы продолжить оставшийся тестовый пример. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 мая 2012

Что-то вроде:

<tr>
    <td>storeEval</td>
    <td>'${MyCode}'.replace(/.*src="(.*?)".*/, $1)</td>
    <td>url</td>
</tr>

Это будет использовать JavaScript для установки переменной с именем url в значение атрибута src в вашей переменной MyCode.

1 голос
/ 04 ноября 2011

Первая команда ниже хранит атрибут href любого элемента, вы можете изменить его по своему усмотрению.

Третья команда использует javascript для получения атрибута pathname объекта DOM.

Надеюсь, что это отвечает на ваш вопрос.

Если вы откроете IDE, щелкните на вкладке источника в главном окне, скопируйте и вставьте код ниже между тегами, вы сможете запустить тест на этой странице,или любая другая страница переполнения стека.

<tr>
    <td>storeAttribute</td>
    <td>css=.profile-link@href</td>
    <td>href</td>
</tr>
<tr>
    <td>echo</td>
    <td>${href}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>this.browserbot.getUserWindow().document.getElementsByClassName('profile-link')[0].pathname</td>
    <td>pathname</td>
</tr>
<tr>
    <td>echo</td>
    <td>${pathname}</td>
    <td></td>
</tr>
...