Селен тестирование на дублированный текст - PullRequest
1 голос
/ 06 июля 2011

Можно ли в Selenium проверить, появляется ли определенный текст более одного раза на странице (неважно, сколько раз, просто если это несколько раз)?

Я знаю, что яможно проверить текст с помощью

selenium.IsTextPresent(text)

Но, конечно, он возвращает true, как только находит текст один раз.Есть ли способ узнать, существует ли текст на странице несколько раз?

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Другой способ - это sel.getElementCount(xpath) или запуск JS-скрипта с использованием sel.getEval(). Преимущество этих двух методов перед sel.getHtmlSource() заключается в том, что вы не возвращаете весь HTML-файл страницы с сервера селена. Работа выполняется на стороне сервера, и вы экономите пропускную способность (и, вероятно, скорость).

2 голосов
/ 06 июля 2011

Вы можете работать с источником HTML:

selenium.GetHtmlSource();

Затем простая проверка индекса теста и последнего индекса (как предложил набуходоноссор в своем комментарии):

selenium.GetHtmlSource().IndexOf(text) > -1 && selenium.GetHtmlSource().IndexOf(text) != selenium.GetHtmlSource().LastIndexOf(text)

Вы также можете удалить все теги html перед проверкой индексов и оставить видимый текст, только если вы хотите игнорировать комментарии, атрибуты alt, атрибуты заголовка и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...