尝试做一些简单的事情 - 我有一组清除浏览器cookie的语句:
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();
,我会收到运行时错误
我尝试在clearCookies()函数中声明DefaultSelenium selenium = new DefaultSelenium(null);
,但这也会导致运行时错误。
我的configClass中有import com.thoughtworks.selenium.*;
导入。
任何指针都将不胜感激。感谢。
答案 0 :(得分:1)
你可以做两件事。
在两个类中引用相同的selenium对象,即在configClass和您调用的类configClass.clearCookies()中。
或者
将selenium对象发送到clearCookies。所以代码就像这样
public static void clearCookies(DefaultSelenium selenium){
selenium.open("http://www.myurl.com");
selenium.waitForPageToLoad("30000");
selenium.deleteAllVisibleCookies();
}