0

我有一个名为 test 的方法,我在其中定义了一个 Webdriver 对象,如下所示:

FirefoxProfile firefoxprofile = new FirefoxProfile();
firefoxprofile.setAssumeUntrustedCertificateIssuer(false);
WebDriver driver = new FirefoxDriver(firefoxprofile);
Selenium selenium = new WebDriverBackedSelenium(driver, "https://10.17.17.212:4343");

我可以在这个函数中使用 selenium 命令,比如 selenium.click() 等。

但我不能在我从此函数调用的函数中使用它们。例如,我在 set 内部调用一个名为 set() 的函数(private int set)

4

2 回答 2

0

在方法外部创建 selenium 对象并将其声明为静态,以便您可以全局使用它。

于 2012-10-17T10:51:30.053 回答
0

我通过将 WebDriver 变量声明为静态来解决它。在我的代码中,它看起来像:

public class BaseSeleniumTest extends SeleneseTestBase {
    static WebDriver driver;

    @BeforeClass
    public static void firefoxSetUp() throws MalformedURLException {

        driver = new FirefoxDriver();  
    }
    @Before
    public void homePageRefresh() throws IOException {
        driver.get(propertyKeysLoader("login.base.url"));
    }


    @AfterClass
    public static void closeFirefox(){
        driver.quit();
    }
....
//blablabla}
于 2012-10-17T10:12:54.377 回答