2013-09-08 2 views
0

Я использую Soda (node.js) w/Selenium RC для автоматизации тестирования браузера.Какой элемент DOM указывается в директиве?

Если у меня есть AngularJS директивы -> сказать кнопку, которая имеет счетчик -> и появляется мультипликатора раз на странице, как я могу убедиться, что нажать на этой конкретной кнопки ... когда это не имеет идентификатора DOM или уникального класса? В моем случае «Логин» и «Некоторая другая кнопка» являются динамическими, а будет быть уникальным для всех кнопок в ng-view.

<my-requesting-button text="Login" class="ng-isolate-scope ng-scope"> 
     <button type="submit" class="btn btn-large"> 
     <img src="/img/progress.gif" style="display: none;"> 
     <span>Login</span> 
    </button> 
    </requesting-button> 
    <my-requesting-button text="Some Other Button" class="ng-isolate-scope ng-scope"> 
     <button type="submit" class="btn btn-large"> 
     <img src="/img/progress.gif" style="display: none;"> 
     <span>Some Other Button</span> 
    </button> 
    </requesting-button> 

Сода (в основном непосредственно из примера):

browser 
     .chain 
     .session() 
     .open('/') 
     .clickAndWait('...LOGIN BUTTON REF?') 
     .waitForPageToLoad(2 * 1000) 
     .clickAndWait('...SOMEOTHER BUTTON REF?') 
     .waitForPageToLoad(2 * 1000) 

ответ

0

Вы можете дать ему/имя класса уникального идентификатора. Если вы знаете, что этот элемент будет отображаться только на странице один раз, вы можете указать ему уникальный идентификатор. Если нет, вы можете присвоить ему имя класса, чтобы Selenium мог найти только первый, или тот, который находится рядом с вашей формой входа.

Чтобы сделать это, вы можете либо передать текстовое значение (например, «Вход») для вашей кнопки, так что у него есть это:

<button class="{{text}}Button"> 

или вы можете сказать Селен, чтобы найти кнопку, которая приходит сразу после того, элемент, атрибут которого text является «Логин».

+0

Это не работает, но я не уверен, что это проблема соды или нет. –

+0

Это не сработало из-за того, что элемент DOM не был там до его вызова. Динамический класс работал. –