Selenium - сгенерированные ASP.NET идентификаторы (JQuery-подобный выбор) - PullRequest
0 голосов
/ 16 декабря 2010

JQuery поддерживает синтаксис $("span[id$='Label1']"), чтобы разрешить выбор сгенерированных идентификаторов ASP.NET INamingContainer с префиксом " ct100 $ ... ".

Мы используем Selenium и ищем аналогичный способ выбора элементов, игнорируя префиксы, которые генерирует ASP.NET.

Идеи

Ответы [ 3 ]

0 голосов
/ 16 декабря 2010

Использование:

//span[@id[substring(.,string-length()-5)='Label1']]
0 голосов
/ 16 декабря 2010

Если проект находится в .Net 4, теперь возможно статическое именование динамических элементов управления.

Читать здесь http://www.dotnetcurry.com/ShowArticle.aspx?ID=492

Делает жизнь немного проще, если у вас есть роскошьсделать это такВ противном случае правильно сформированный XPath будет работать (но это смертельно медленный тест IE)

Cheers, Stefan

0 голосов
/ 16 декабря 2010

Теоретически вы можете сделать это с помощью селекторов XPath, например:

//div[ends-with(text(), 'MyControlId')]

но у меня есть ощущение, что вы не можете использовать функцию ends-with с Selenium, поскольку она не является частью XPath 1.0. Вам может понадобиться что-то более безобразное, как это:

//div[substring(text(), string-length(text()), 11)='MyControlId']

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