2015-01-15 4 views
1

Im новый для проверки транспортира e2e. Написание тестовых примеров жасмина с использованием транспортира. У меня есть две кнопки в html-файле. Я хочу выбрать конкретную кнопку (кнопка в файле begin.html)транспортир: не удалось нажать кнопку

элемент (by.id ('gotest')). Click(); не работал by.linkUiSref ('about-you'); не работал

выполняя какое-либо событие на кнопку необходимо перейти на следующую страницу (о-вы)

Пожалуйста, помогите мне

text.html

<div class="button"> 
     <a ui-sref="begin"> 
      <button class="green">Text</button> 
     </a> 
    </div> 

    <ng-include src="'../begin.html'" class="hidden"></ng-include> 

begin.html

<div class="button"> 
     <button class="green" id="gotest" ui-sref="about-you">Start</button> 
    </div> 
+0

Я предполагаю, что вы на begin.html, когда пытались нажать правой кнопкой мыши? (то есть не уверен, что с этим должен работать Text.html). Кроме того, что вы подразумеваете под «не работает»? Ничего не случилось или не вышло из строя? – hankduan

+0

да, вы правы im на begin.html (здесь происходит событие click). – mrr

+0

Да, вы правы im на begin.html (событие click происходит здесь). Когда мы запускаем приложение в мобильном телефоне, сначала будет отображаться текст. Html, а затем begin.html. Но мы обращаемся к тому же приложению на рабочем столе. Begin.html будет включен в text.html. Im получение ниже исключения "essage: Ошибка: время ожидания, пока Транскаватор не синхронизируется со страницей через 11 секунд. aq.md ......« Я также попытался использовать allscriptsTimeouts в файле конфигурации, но это не сработало , – mrr

ответ

3

Try:

element(by.buttonText('Start')).click(); 

иначе высылайте какую ошибку у вас есть.

+0

Спасибо за ваш ответ, в файле конфигурации я дал allscripts = 100000 мс, так что теперь я не получаю таймаут после 11-секундной ошибки, но вижу другую ошибку «Тайм-аут Жасмина». Сброс потока управления WebDriver Последний активный задача была: Protractor.waitForAngular() в [object Object] .webdriver.WebDriver.schedule (C: \ Users \ pm \ node_modules \ protractor \ node_modules \ selenium-webdriver \ lib \ iver \ webdriver.js: 345: 15) в [object Object] .Protractor.executeAsyncScript_ (C: \ Users \ pm \ node_modules \ protractor \ lib \ protractor.js: 1141: 26) в [object Object] .Protractor.waitForAngula – mrr

+0

также im, получающий мой элемент способ вы упомянули выше. – mrr

+0

элемент клик завершен или нет. –

5

Протранслятор работает быстро и асинхронно. Таким образом, ваш щелчок на кнопке может быть запущен даже до того, как страница будет готова, и, следовательно, вы получите ошибки. Чтобы решить эту проблему, сначала попробуйте найти элемент, используя функцию ожидания в транспортимере, а затем, используя обещание, что ожидание вернется, вы можете нажать на кнопку.

Ниже кода может помочь вам -

var elementToClick = $('#gotest'); 
browser.wait(protractor.ExpectedConditions.elementToBeClickable(elementToClick), 10000) 
.then (function() { 
    elementToClick.click(); 
}); 

Надежда это решить вашу проблему.

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