Расширение Selenium RC новыми методами - PullRequest
0 голосов
/ 18 ноября 2010

Я расширяю селен RC, используя user-extension.js.Он может вызывать функцию нового метода, но выдает следующее сообщение об ошибке.

* ОШИБКА: ошибка выполнения команды.Пожалуйста, найдите на форуме http://clearspace.openqa.org подробности ошибки в окне журнала.Сообщение об ошибке: Object не поддерживает это свойство или метод *

Поскольку эта программа выполняется на Google.com, любой может скопировать образец кода и выполнить его наих соответствующие ПК.

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 и Selenium JAR находятся в одной папке и выполняют Selenium JAR с помощью следующей команды.

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

Любая помощь в этом вопросе?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2010

Это работает для меня. Вот модифицированный код файла user-extensions.js:

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

Остальное все остается прежним. Надеюсь, это поможет !!!

0 голосов
/ 19 ноября 2010

Это означает, что ваша команда в файле расширения пользователя не находит элемент.Попробуйте запустить это в IDE и проверьте, работает ли он нормально

...