2015-12-11 2 views
2

Я использую транспортир, чтобы написать несколько тестов E2E для приложения написанного в AngularJS, и я хочу, чтобы выполнить следующую задачу:Транспортир. Как получить элемент, который я только что выполнил?

element(by.id('btn1')).click().then(function() { 
    // I want to get the element that I just clicked, and check its label 
    // How I can pass (if possible) the element to the then() function? 
}); 

в настоящее время, что я делаю:

element(by.id('btn1')).click().then(function() { 
    expect(element(by.id('btn1')).getText()).toBe('cancel'); 
}); 

Заранее спасибо , Kai

ответ

1

Проблема заключается в том, что обещание click() относится к типу webdriver.promise.Promise.<void>, так что в преобразователь ничего не передается.

Просто хранить опорный элемент в переменной, чтобы повторно использовать его

var btn = element(by.id('btn1')); 
btn.click().then(function() { 
    expect(btn.getText()).toEqual('cancel'); 
}); 
Смежные вопросы