javascript - Understanding Protractor and WebDriverJS control flow -


can me understand how webdriverjs/protractor works in case?

function mypageobject(buttonelementfinder) {   this.getbuttonbyindex = function(index) {     return {       mybutton: buttonelementfinder.get(index)     }   } }  1. describe('my button', function() { 2.  3.   it('should contain text foo', function() { 4.     var myelementfinder = element.all(by.css('.foo')); 5.     var pageobject = new mypageobject(myelementfinder); 6.     var button = pageobject.getbuttonbyindex(0); 7.     expect(button.text()).tobe('foo'); 8.  }); 9.  10. }); 

does webdriverjs control flow have action added on line 6 because of .get method of elementfinders?

i presume expect adds item control flow on line 7?

edit: have update code use element.all.

var myelementfinder = element.all(by.css('.foo')); 

myelementfinder elementarrayfinder , object. nothing async happening here.

var pageobject = new mypageobject(myelementfinder); 

obvious.

var button = pageobject.getbuttonbyindex(0); 

this return elementfinder buttonelementfinder.get. nothing async happening here.

expect(button.text()).tobe('foo'); 

button.text() returns promise webdriver.schedule, in turn using control flow retrieved using webdriver.promise.controlflow(), exposes execute function.


Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

android - CollapsingToolbarLayout: position the ExpandedText programmatically -

Listeners to visualise results of load test in JMeter -