Devo verificare un testo presente nella pagina tramite WebDriver. Mi piace vedere il risultato come booleano (vero o falso). Qualcuno può aiutare su questo dando il codice WebDriver?Come verificare un testo presente nella pagina caricata tramite WebDriver
risposta
Se non vi dà fastidio circa la posizione del testo attuale, allora si potrebbe utilizzare la proprietà Driver.PageSource come di seguito:
Driver.PageSource.Contains ("messaggio previsto");
C'è un modo per trovare il testo senza l'origine della pagina e altro ho bisogno di stampare True se il testo esiste in qualsiasi punto della pagina e False se il testo non ... –
Nota: Non in booleano
WebDriver driver=new FirefoxDriver();
driver.get("http://www.gmail.com");
if(driver.getPageSource().contains("Ur message"))
{
System.out.println("Pass");
}
else
{
System.out.println("Fail");
}
Sì, si può fare ciò che restituisce il valore booleano. Il seguente codice Java in WebDriver con TestNG o JUnit può fare:
protected boolean isTextPresent(String text){
try{
boolean b = driver.getPageSource().contains(text);
return b;
}
catch(Exception e){
return false;
}
}
Ora chiamano il metodo di cui sopra, come di seguito:
assertTrue(isTextPresent("Your text"));
Oppure, c'è un altro modo. Penso che questo sia il modo migliore:
private StringBuffer verificationErrors = new StringBuffer();
try {
assertTrue(driver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]* Your text here\r\n\r\n[\\s\\S]*$"));
} catch (Error e) {
verificationErrors.append(e.toString());
}
La tua domanda sembra essere priva di alcune informazioni. 1) Che lingua stai usando? 2) Stai usando qualsiasi framework di test come JUnit o TestNG? –
Sì, preferisco l'ultima risposta sopra –
Questa è una soluzione migliore in quanto può essere sfruttata per più valori di testo –
Driver.getPageSource() è un cattivo modo per verificare il testo presente. Supponiamo che tu dica, driver.getPageSource().contains("input");
Che non verifica che "input" sia presente sullo schermo, solo che "input" è presente nell'html, come un tag di input.
Io di solito a verificare il testo su un elemento utilizzando XPath:
boolean textFound = false;
try {
driver.findElement(By.xpath("//*[contains(text(),'someText')]"));
textFound = true;
} catch (Exception e) {
textFound = false;
}
Se volete delle partite testo esatto, è sufficiente rimuovere la funzione contiene:
driver.findElement(By.xpath("//*[text()='someText']));
Come zmorris punti driver.getPageSource().contains("input");
non è il soluzione adeguata perché cerca in tutti gli html, non solo i testi su di esso. vi suggerisco di controllare questa domanda: how can I check if some text exist or not in the page? e il modo in Recomended spiegato dal Slanec:
String bodyText = driver.findElement(By.tagName("body")).getText();
Assert.assertTrue("Text not found!", bodyText.contains(text));
Non dovrebbe essere: Stringa bodyText = driver.findElement (By.tagName ("body")) .getText(); Assert.assertTrue (true, bodyText.contains (text)); – Cagy79
Questo non funziona in Edge – SOAlgorithm
Per programmatori Ruby ecco come si può affermare. devono includere Minitest per ottenere il asserisce
assert(@driver.find_element(:tag_name => "body").text.include?("Name"))
Di seguito il codice è il modo più adatto per verificare un testo sulla pagina. Puoi utilizzare uno qualsiasi degli 8 locatori secondo la tua convenienza.
String Verifytext = driver.findElement (By.tagName ("body")). GetText(). Trim(); Assert.assertEquals (Verifytext, "Incolla qui il testo che deve essere verificato");
Se si desidera controllare visualizzati solo gli oggetti (C#):
public bool TextPresent(string text, int expectedNumberOfOccurrences)
{
var elements = Driver.FindElements(By.XPath(".//*[text()[contains(.,'" + text + "')]]"));
var dispayedElements = 0;
foreach (var webElement in elements)
{
if (webElement.Displayed)
{
dispayedElements++;
}
}
var allExpectedElementsDisplayed = dispayedElements == expectedNumberOfOccurrences;
return allExpectedElementsDisplayed;
}
- 1. Come verificare se un testo è presente su una pagina Web utilizzando il selenio 2?
- 2. Verificare il valore se presente nella colonna
- 3. Selenio WebDriver - come verificare le linee multiple di testo
- 4. Come verificare che un attributo sia presente in un elemento utilizzando Selenium WebDriver?
- 5. watir-webdriver attendere caricamento pagina
- 6. jquery precaricare la pagina caricata tramite il metodo load()
- 7. Oggetto pagina Selenium WebDriver
- 8. Passare l'user-agent tramite webdriver in Selenium
- 9. Attendi fino al testo presente nel campo di testo
- 10. Selenium Webdriver - verificare la casella di testo protetta da scrittura?
- 11. SQLAlchemy: verificare se l'oggetto è già presente nella tabella
- 12. Come verificare con Selenium WebDriver se un sito utilizza Ajax?
- 13. Come verificare se un valore di querystring è presente tramite javascript
- 14. Come verificare se l'estensione PECL è presente?
- 15. Come verificare se un oggetto è presente nella scena o non in THREE.js?
- 16. Come svanire in un testo dopo che la pagina è stata caricata?
- 17. Ottenere l'URL della pagina corrente utilizzando Selenium WebDriver
- 18. Come pagina un lungo testo?
- 19. Come verificare se l'API di Google Maps è stata caricata?
- 20. Come verificare l'esistenza dell'attributo tile prima di inserirlo nella pagina
- 21. Come verificare se la connessione Internet è presente in java?
- 22. Verificare se un elemento è presente in un sacchetto?
- 23. Javascript: esecuzione dell'azione una volta caricata la pagina successiva?
- 24. Come posizionare il cursore (messa a fuoco automatica) nella casella di testo quando una pagina viene caricata senza supporto javascript?
- 25. Pagina API Google Developers Console non caricata
- 26. htmlunit: restituisce una pagina completamente caricata
- 27. Verificare se un file esiste nella destinazione makefile e chiudere se non presente
- 28. Utilizzo di Watir-webdriver come controllare l'URL di una pagina
- 29. Testo tagliato nell'area di testo nella pagina ASP.net
- 30. Avvia l'animazione al caricamento della pagina, ferma sulla pagina caricata
In quale linguaggio di programmazione? Quale browser? Il testo appare sempre nello stesso elemento? Dove? Quale elemento? – Arran