Возникли проблемы при нажатии на элемент в автоматическом тесте - PullRequest
3 голосов
/ 10 августа 2011

В настоящее время я создаю испытательный стенд для компании, в которой я работаю.У меня есть опыт работы с C# и WatiN, и я никогда не сталкивался с проблемой, с которой я сейчас сталкиваюсь.

Ниже приведен фрагмент разметки для страницы, сообщающей мне проблему:

<div id="toggle1" class="NavLayout toggle">
     <span onClick="toggleMenu(1, false);">
          <span id="toggletext1">Quote Processing</span>
     </span>
</div>

Как видите, у меня есть div, 2 пролета и изображение.Я использую WatiN, чтобы попытаться щелкнуть изображение, которое затем расширит меню, открывая еще один слой, на котором мне нужно будет щелкнуть что-то еще.Проблема, с которой я столкнулся, заключается в том, чтобы получить «Клик».Из того, что я вижу во фрагменте, мне кажется, что я должен иметь возможность щелкнуть событие, но не могу «найти» его с помощью кода.

Есть ли какая-нибудь помощь, которую можно получить?

Ответы [ 2 ]

7 голосов
/ 18 августа 2011

У меня также были проблемы с нажатием на определенные элементы.

У меня возникли проблемы, когда я мог щелкнуть элемент, только если он был выделен наведением на элемент.

Так как я не вижу ваш фрагмент кода, я не могу сказать, есть ли какой-либо javascript, который имеет дело с наведением мыши, связанным с изображением, но если это так, вы можете попробовать следующее:

img.FireEvent("onmouseover");

img.FireEvent("onmousedown");

img.FireEvent("onMouseup");

Вы также можете попробовать img.FireEvent("onclick").

Это все догадки, так как я не вижу ваш код. Также возможно, что вместо того, чтобы щелкать по самому элементу изображения, вы можете попробовать щелкнуть по родительскому объекту.

EDIT: Хорошо, теперь, когда я вижу ваш код, похоже, что вы должны запустить событие onClick для диапазона с кодом onclick в нем.

Я не вижу изображения, указанного в вашем фрагменте кода, но этот код должен вызывать родителя самого нижнего уровня.

Watin.Core.Span span = browserinstance
                       .Span(Find.By("innertext", "Quote Processing"));
span.Parent.FireEvent("onclick");
1 голос
/ 13 августа 2011

Содержимое DOM, которое вы намеревались опубликовать, не отображается. Вы можете отредактировать свой пост и проверить, если он виден.
Для того, чтобы нажать на картинку

Watin.Core.Image img = browserinstance.Image(Find By Constraint);
if (img!=null and img.Exists) 
img.ClickNoWait(); 
OR
img.FireEvent("onclick");
...