title: Webdriver.waitUntil doesn't work as expected
body: <p>I'm using wedriverio 4.5:</p>
  
  <pre><code>./node_modules/.bin/wdio -v
  v4.5.2
  </code></pre>
  
  <p>I need to wait until some element exists and if it doesn't exist handle this situation.</p>
  
  <p>for example:</p>
  
  <pre><code>let element = browser.element('.unexisting');
  browser.waitUntil(
          function () {
              return element.isExisting();
          },
          1000,
          'Element is not found.'
  );
  </code></pre>
  
  <p>But if element doesn't exist on the page, webdriver marks my test as failed and shows message: 'Timeout of 10000ms exceeded. Try to reduce the run time or increase your timeout for test specs (<a href="http://webdriver.io/guide/testrunner/timeouts.html" rel="nofollow noreferrer">http://webdriver.io/guide/testrunner/timeouts.html</a>); if returning a Promise, ensure it resolves.'</p>
  
  <ol>
  <li><p>How can I handle this situation? </p>
  
  <ul>
  <li>I tried try-catch block, but anyway I see same message about timeout and failed test.</li>
  <li>I tried element.waitForExist() but behavior is the same</li>
  <li>I tried to use error handler (but it doesn't help)</li>
  </ul>
  
  <p>browser.on('error', function(e) {
     console.log ('handle browser error'); 
  })</p></li>
  <li><p>Why don't I see my message 'Element is not found.'?</p></li>
  </ol>
  
  <p>Thanks!</p>