javascript - How can I access the 'until' object directly in Protractor? -


i writing middleware framework testing angularjs web app , want able wait conditions met before move on action in tests. new protractor , have found in doc , other forums, there few different ways using browser.driver.wait or similar techniques use condition or promise including answer.

what trying achieve follow page object model design in framework , allow each page provide own function determines whether page visible in browser or not. in order that, ended writing page objects below:

var pages = {   home: {     name: 'home',     url: server + '/#/home',     title: 'home',     isvisible: until.titleis(this.title)   },   ... } 

there 2 issues trying wrap head around , fix:

  1. first , foremost, error saying until undefined. have not been able find right way use object yet , searches lead alternative ways waiting element visible or expected condition true. how can access object directly? and, considered bad/obsolete design?
  2. assuming find way use until object directly, can see in protractor source code until.titleis() function returns condition, next question how can use condition object boolean result after waiting on (or times out)? need special cases such below:

    var condition = until.titleis('some title'); var result = browser.wait(condition, timeout).then(function(res) { return res; }); if (result)     // else    // thing 

i appreciate this!

until protractor.expectedconditions object. define globally, put following onprepare() function in config:

onprepare: function () {     global.until = protractor.expectedconditions; }, 

as second question, make isvisible function, return promise:

isvisible: function () {     return browser.wait(until.titleis(this.title), 5000).then(function () {         return true;     },     function () {         return false;     }); }, 

then, can expect in test:

expect(mypageobject.isvisible()).tobe(true); 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

android - Keyboard hides my half of edit-text and button below it even in scroll view -