2011-08-25 14 views
6

Stavo cercando di utilizzare il metodo addCustomRequestHeader per impostare un'intestazione personalizzata per le richieste di selenio. Di seguito è riportato il codice sorgenteCome utilizzare il metodo addCustomRequestHeader nel selenio?

 Selenium sel = new DefaultSelenium("localhost",4444,"*firefox","http://www.google.com"); 
     sel.start("addCustomRequestHeader=true"); 
// sel.start(); 
    sel.addCustomRequestHeader("mycustomheader","automation"); 
    sel.open("http://www.google.com/"); 

Questo codice non ha aggiunto l'intestazione alla richiesta. Ho provato a cercare le intestazioni delle richieste usando Fiddler. Qualcuno qui sa cosa sto sbagliando qui? Qualsiasi aiuto sarebbe apprezzato

+0

Funziona con qualsiasi intestazione personalizzata o solo le intestazioni HTTP note supportate? Cioè, forse si comporta più come un addRequestHeader(). – David

+0

Provare impostando Selenium come server proxy ed è discusso qui http://stackoverflow.com/questions/4442405/how-to-use-addcustomrequestheader-properly – Dhivya

risposta

1

È necessario avviare il selenio nella modalità di iniezione delega

java -jar selenium-server-standalone.jar -proxyInjectionMode 

È quindi possibile aggiungere personalizzato richiede intestazioni come questo (in Python)

sel.start("addCustomRequestHeader=true") 
sel.add_custom_request_header("mycustomheader","automation") 
sel.open('http://www.google.com') 

Per vedere se il è stata applicata un'intestazione personalizzata, controllare la scheda in cui è in esecuzione il server di selenio. Dovresti vedere qualcosa di simile nei messaggi della console

INFO - Command request: addCustomRequestHeader[mycustomheader, automation] on session 
INFO - Got result: OK on session 
Problemi correlati