2011-08-11 16 views
9

Estoy usando C# Selenium WebDriver y me gustaría confirmar que existe cierto texto en la página.Usando Selenium2, ¿cómo puedo verificar si existe cierto texto en la página?

¿Cómo puedo hacer esto? Todos los selectores parecen usar ID, clases, etc. No me importa dónde está el texto en la página, solo quiero asegurarme de que existe en algún lugar en la página.

¿Alguna idea?

PD: puede hacer esto utilizando jQuery y Javascript, pero al parecer no admitido en todos los conductores del navegador:

protected bool TextIsOnThePage(string textToFind) 
{ 
    var javascriptExecutor = ((IJavaScriptExecutor)_driver); 
    bool textFound = Convert.ToBoolean(javascriptExecutor.ExecuteScript(string.Format("return $('*:contains(\"{0}\")').length > 0", textToFind))); 

    return textFound; 
} 

Respuesta

11
WebElement bodyTag = driver.findElement(By.tagName("body")); 
if (bodyTag.getText().contains("Text I am looking for") { 
    // do something 
} 

o encontrar un div speific

o puede utilizar el WebDriverBasedSelenium clase selenio y hacer algo como

var selenium=new WebDriverBasedSelenium(driver,url); 

selenium.IsTextPresent("text") 
+0

Muy simple. ¡Gracias! – willem

+0

buena respuesta, alternativamente puede usar html en lugar de cuerpo, he tenido un par de casos donde html funcionó mejor – prestomanifesto

1

usted debería ser capaz de lograr esto comprobando el texto interior del <body />.

0

en Java lo hace así:

booleano cualquier = driver.getPageSource(). contains ("Cualquiera que intente encontrar");

4

Aquí es una versión actualizada utilizando Selenium WebDriver 2.48.0

IWebDriver driver = new RemoteWebDriver(DesiredCapabilities.Firefox()); 
driver.Navigate().GoToUrl("http://stackoverflow.com/"); 
IWebElement body = driver.FindElement(By.TagName("body")); 

Assert.IsTrue(body.Text.Contains("Top Questions")); 

Nota: La aserción es un Nunit afirmar, obviamente, se puede utilizar cualquier método afirmación de que prefiera. También estoy usando RemoteWebDriver y Firefox para este ejemplo.

Cuestiones relacionadas