I am writing tests for an HTML5 game, and I want to check that the audio is loading and starting correctly.
Is there a way to check this using Selenium? or do I need
I always respond to questions like this with "Tell me how a human being would check that ...". The answer is this case would be to listen to the audio and see if what's supposed to be playing is. You're not going to be able to make a computer do that easily.
You could check the audio element, after it should've started playing:
WebElement audio = driver.findElement(By.tagName("audio"));
String currentTime = audio.getAttribute("currentTime");
try {
assertTrue(Double.parseDouble(currentTime) > 0.0);
} catch(NumberFormatException ex) {
assertEquals(ex, null);
}
If it failed to load, or never started, then this test should fail.