Как проверить, присутствует ли конкретный текст или нет в случае селена RC . браузер IE
Я использую селен 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-формат моей страницы такой же, как и выше. Мне нужно подтвердить текст "Владелец". Я не могу проверить, используя инструкцию if(selenium.isTextPresent("Владелец"))
если условие дает ложь, но на странице присутствует текст
2 ответа
Используйте get.text(locator) и проверьте, используя if(==). Локатор может быть либо xpath,csspath или любым идентификатором или именем элемента xpath=//th[@title='Сортировать по владельцу']
Я предполагаю, что это потому, что текст отсутствует в той точке, в которой вы его проверяете. Если вы можете выполнить обновление до 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;
}