【问题标题】:Selenium Webdriver C# - Stop browser opening on program start upSelenium Webdriver C# - 在程序启动时停止浏览器打开
【发布时间】:2015-08-09 20:51:23
【问题描述】:

我正在编写一个用于自动化测试的程序,它运行良好。但是,我确实对程序启动所需的时间有疑问。这是因为我在公共部分类中初始化了 IWebdriver = new firefoxDriver(),以便所有函数都可以轻松访问驱动程序类。

因此,当我加载程序时,浏览器加载可能需要 15/20 秒,然后是我构建的 GUI。有没有人知道一种使“驱动程序”全局但不初始化浏览器的方法,直到我在函数中调用它?即我可以加载我的程序并摆弄变量等,然后当我准备好单击一个按钮时,浏览器会加载并执行该函数,而无需分别在每个函数中使用 Iwebdriver = new firefox() 。另外,我以这种方式对其进行编码(使其成为全局)的原因是由于不同的浏览器会话问题。它不会在启动时看到除初始浏览器之外的其他浏览器

这是我正在使用的基本代码

公共部分类 Main : Form {

    IWebDriver driver = new FirefoxDriver();

    public Main()
    {
        InitializeComponent();


    }
}

【问题讨论】:

    标签: performance selenium browser startup


    【解决方案1】:

    以同样的方式初始化它,但将其设为静态:

    Public static IWebDriver Driver;
    

    然后将其设置为 FirefoxDriver ,你需要它来打开浏览器:

    Driver = new FirefoxDriver();
    

    【讨论】:

    • 很有魅力!谢谢!我可以看到我可能会在选择正确的窗口时遇到问题,但如果/当它出现时我可以处理。
    • 很高兴为您提供帮助!如果这是正确答案,我会要求您将其标记为一个。说到切换页面的问题,请看一下广告 driver.Switch() 你也可以在 SO 上找到它。
    • 会的,谢谢!它似乎使用了代码生成的默认窗口,但是我可以看到由此产生的问题。我会看一下driver.switch。希望这将起作用,因为所有其他在浏览器窗口之间切换的引用似乎都已过时或使用 Java。再次感谢!
    • 没问题,希望您能找到解决问题的好方法。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2012-04-08
    • 2020-03-23
    • 2016-11-08
    相关资源
    最近更新 更多