From 313f787886e145ce8d9773717eb317c2f5535ab1 Mon Sep 17 00:00:00 2001 From: William Wong Date: Fri, 18 Oct 2019 12:27:01 -0700 Subject: [PATCH] Add sleep --- __tests__/setup/conditions/mediaBuffered.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/__tests__/setup/conditions/mediaBuffered.js b/__tests__/setup/conditions/mediaBuffered.js index c460ec1a78..ec93e579d7 100644 --- a/__tests__/setup/conditions/mediaBuffered.js +++ b/__tests__/setup/conditions/mediaBuffered.js @@ -1,13 +1,19 @@ import { Condition } from 'selenium-webdriver'; export default function mediaBuffered(mediaElement) { - return new Condition('for audio to finish loading', driver => - driver.executeScript(mediaElement => { + return new Condition('for audio to finish buffering', async driver => { + const result = await driver.executeScript(mediaElement => { return ( mediaElement.readyState === HTMLMediaElement.HAVE_ENOUGH_DATA && mediaElement.buffered.length && mediaElement.buffered.end(0) === mediaElement.duration ); - }, mediaElement) - ); + }, mediaElement); + + // TODO: If the result is positive, audio finished buffering, we still need to wait for an unknown time to refresh the UI. + // Will be great if we can remove this sleep. + result && (await driver.sleep(2000)); + + return result; + }); }