2010-11-18 7 views
0

Ich erweitere die Selen RC mit user-extension.js. Es kann die neue Methodenfunktion aufrufen, aber folgende Fehlermeldung wird ausgegeben.Erweitern Selenium RC mit neuen Methoden

Da dieses Programm auf Google.com ausgeführt wird, kann jeder den Beispielcode kopieren und auf den entsprechenden PCs ausführen.

package package1; 

import static org.testng.AssertJUnit.*; 
import org.testng.annotations.*; 
import com.thoughtworks.selenium.*; 


public class Sample2 
{ 
private static final String Timeout = "30000"; 
private static final String BASE_URL = "http://google.com/"; 
private static final String BASE_URL_1 = "/"; 
private Selenium selenium; 
private HttpCommandProcessor proc; 

@BeforeClass 
protected void setUp()throws Exception 
{ 
proc = new HttpCommandProcessor("localhost", 4444, "*iexplore", BASE_URL); 
selenium = new DefaultSelenium(proc); 
selenium.start(); 
selenium.windowFocus(); 
selenium.windowMaximize(); 
selenium.windowFocus(); 
} 

@AfterClass(alwaysRun=true)  
protected void tearDown() throws Exception  
{  
selenium.stop();  
}  

@Test(groups="search") 
public void test_GoogleSearch() throws Exception 
{ 
selenium.open(BASE_URL_1); 
selenium.type("name=q", "Bharath Marrivada"); 
//selenium.click("btnG"); 
proc.doCommand("myMethod",new String[] {"btnG"}); //user extension 
Thread.sleep(5000); 
} 
} 

user-extension.js 
Selenium.prototype.doMyMethod = function(inputParams) 
{ 
this.browserbot.click("btnG"); 
return null; 
}; 

.js und Selen JAR sind in dem gleichen Ordner und das Selen JAR Ausführen folgenden Befehl verwendet.

java -jar selenium-server.jar -userExtensions user-extensions.js 

Haben Sie Hilfe zu diesem Problem?

Antwort

0

Dies bedeutet, dass Ihr Befehl in der Benutzererweiterungsdatei das Element nicht findet. Versuchen Sie, das in der IDE auszuführen und zu überprüfen, ob es gut funktioniert

0

Es funktioniert für mich. Hier ist der modifizierte user-extensions.js Dateicode:

Selenium.prototype.doMyMethod = function(locator) { 
    var element = this.page().findElement(locator); 
    element.click(); 
}; 

Rest alle bleibt gleich. Hoffe das hilft!!!

Verwandte Themen