2016-09-21 2 views
0

Фоновая информация по моему вопросу:
Я работаю в FitNesse, и обычно я могу использовать селекторы CSS для поиска и проверки элементов, которые я хочу. Однако в этом случае мне нужно проверить атрибут @title через XPath, и у меня возникли проблемы с этим.XPath - проверьте содержимое @title

Мой FitNesse сценарий что-то вроде этого:

| ensure | do | verifyText | on | !-xpath statement to the @title attribute here-! | with | @the_title_I_expect

Это означает, что мне нужно найти XPath к @title элементу, чтобы проверить его, не имеют @title с содержанием в моем выражении XPath.

Может кто-нибудь помочь мне?

Пример:

<th id="scollTable.titleRow.column2" title="**This is my title**" colspan="1" scope="col" class="detailTableHeader">Some text here I don't care about</th> 

Я хотел бы, чтобы проверить текст «Это мой титул» за справедливость. Любые указатели? Заранее спасибо!

+0

'//*[@id="scollTable.titleRow.column2" и @ title = "Это мой заголовок"] ' – splash58

+0

Спасибо за ваш комментарий. Я знаю о 'и' добавлении, но я хотел бы проверить содержимое моего @title отдельно. Смысл, когда я хотел бы проверить содержимое «th», я бы, вероятно, проверил // * [@ id = "scollTable.titleRow.column2"]/text() -> Я хотел бы сделать то же самое для @title; обратитесь к нему и проверьте текст с тем, что я ожидаю. Есть ли другой способ, кроме использования 'и'? – cin

+0

'// * [@ title =" Это мой заголовок "]' – splash58

ответ

1

Вы используете Xebium? Я считаю, что они (на самом деле Selenium 1 API, которые они используют) имеют команду verifyAttribute, которую вы можете использовать для проверки атрибутов вместо текста элемента. (Быстрый Google дал мне this example page.)

Так что я считаю, ваша строка станет:

| ensure | do | verifyAttribute | on | xpath=//th[@id='scollTable.titleRow.column2']@title| with | !-**This is my title**-!|

P.S. Я не очень хорошо знаком с Xebium, но считаю, что вы можете переписать такую ​​строку на check вместо ensure, чтобы ваш тестовый отчет показывал вам фактический заголовок, когда тест терпит неудачу, а не просто сообщает «не удалось».

+0

Удивительно ... Он работает .. Не могу поверить, что решение было настолько простым ... Я переписал его, чтобы проверить is 'вместо' обеспечить do ', но мой тест возвращает результаты сейчас. Большое спасибо, вы действительно помогли. И @ splash58, благодаря вашему времени и усилиям, а также, и снова приношу извинения за то, что вы не просили правильный вопрос сразу! – cin

Смежные вопросы