2010-09-17 107 views
0

试图做一些简单 - 我有一组语句来明确浏览器Cookie:硒RC用户定义函数

public void clearCookies() { 
    selenium.open("http://www.myurl.com"); 
    selenium.waitForPageToLoad("10000"); 
    selenium.deleteAllVisibleCookies(); 
    } 

现在,如果我在一个测试脚本使用此功能(用TestNG),调用完美地完成这项工作。但是,如果我将此函数移至单独的类并将声明更改为包含“static”,则不会识别“selenium”关键字。

在配置类(说configClass),

public static void clearCookies() { 
    selenium.open("http://www.myurl.com"); 
    selenium.waitForPageToLoad("30000"); 
    selenium.deleteAllVisibleCookies(); 
    } 

现在,在我的测试脚本,如果我叫configClass.clearCookies();,我得到一个运行时错误 我试着声明DefaultSelenium selenium = new DefaultSelenium(null);,在clearCookies()函数,但是这也会导致运行时错误。我在configClass中导入了import com.thoughtworks.selenium.*;

任何指针,将不胜感激。谢谢。

回答

1

你可以做两件事。

在两个类中引用相同的硒对象,即在configClass和您调用configClass.clearCookies()的类中。

或其他

将硒对象发送到clearCookies。因此,代码会是这样

公共静态无效clearCookies(DefaultSelenium硒){

selenium.open("http://www.myurl.com"); 
selenium.waitForPageToLoad("30000"); 
selenium.deleteAllVisibleCookies(); 

}