Как проверить, присутствует ли конкретный текст или нет в случае селена RC. браузер IE - PullRequest
1 голос
/ 11 ноября 2011

Я использую селен RC за последние 3 месяца. Я использую Internet Explorer почему, потому что мое приложение работает только в IE. все идет хорошо, но проблема в том, что я не могу проверить текст, даже если текст присутствует на странице. Я использую следующий код для проверки текста.

if(s.isTextPresent("Opportunities"))
            {
                System.out.println("continue");
            }
            else
            {
                System.out.println("error");

    }

вышеуказанный текст присутствует в приложении, но все равно это ошибка печати

<td>
<td>
<th title="Sort by Owner" class="ms-crm-List-Sortable" entityname="opportunity" >
   <nobr>
     ...Text - Owner
     ..<img class="ms-crm-List-Sortable" alt="" src="http://dmgt-t complete="complete"/>
<td>
<th title="Sort by Topic" class="ms-crm-List-Sortable" entityname="opportunity" >
<td>

HTML-формат моей страницы такой же, как и выше. Мне нужно подтвердить текст «Владелец». я не могу проверить используя заявление если (selenium.isTextPresent ( "Владелец"))

если условие дает ложь, но на странице присутствует текст

Ответы [ 2 ]

0 голосов
/ 16 ноября 2011

Le используйте get.text (locator) и проверяйте, используя if (==). Локатор может быть либо xpath, csspath или любым идентификатором или именем элемента xpath = // th [@ title = 'Сортировать по владельцу']

0 голосов
/ 11 ноября 2011

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

public bool IsTextPresent(string text, int millisecondsToWait) {
    Date start = new Date();
    while ((new Date().getTime() - start.getTime()) < millisecondsToWait) {
        if (s.isTextPresent(text)) return true;
        Thread.sleep(100);
    }
    return false;
}
...