Domanda

I'm getting very unhelpful messages when it times out waiting on a condition:

Tests in error: 
    myTestName(mySuiteName): Timed out after 10 seconds waiting for              
    com.mycompany.qa.core.SeleniumWebTesting$$anon$1@6818c458

Here's the Scala code:

  def pageContains(locatorType: String, content: String) {
    locatorType match {
      case "TagName" =>
        val tag = new WebDriverWait(driver, defaultWait).until(
          new ExpectedCondition[Boolean] {
// it times out on this line below, but I can't send out any assert failure or useful message
            override def apply(driver: WebDriver) = driver.findElement(By.tagName(content)).isDisplayed
          }
        )
      case _ =>
        throw new UnsupportedOperationException("No valid locator strategy received (try a valid one, like class name)")
    }
  }
È stato utile?

Soluzione

You can use withMessage() method.

WebDriverWait wait = new WebDriverWait(driver, timeout);
wait.withMessage("Your desired Message");
wait.until(new ExpectedConditions(boolean));

Altri suggerimenti

If you're using scala we are having great success with http://code.google.com/p/driveby/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top