【问题标题】:Do I need to enable javascript for PhantomJS when using Selenium Webdriver?使用 Selenium Webdriver 时是否需要为 PhantomJS 启用 javascript?
【发布时间】:2014-08-26 17:10:45
【问题描述】:

我在 NUnit 中有一个测试套件,在 IE 和 Chrome 网络驱动程序上运行。但是当我想尝试无头 PhantomJS (Ghostdriver) 时,我无法让它执行我想要执行的操作。

遇到简单的问题,例如

[TestFixture]
class PhantomJSTest{

    protected IWebDriver driver;

    [SetUp]
    public void Setup() {
        driver = new PhantomJSDriver(@"..\..\..\..");
    }

    [Test]
    public void PhantomTest() {
        driver.Navigate().GoToUrl(adress);
        driver.FindElement(selector).Click();
    }

    [TearDown]
    public void Teardown() {
        driver.Close();
        driver.Quit();
    }
}

当点击执行时,应该在我的数据库中设置一些东西,所以当手动返回该页面时,我应该能够看到它。 NUnit 测试本身设置为成功,但该操作从未发生。当尝试基于先前的操作做某事时,这一点尤其明显。任何帮助,将不胜感激! =)

【问题讨论】:

    标签: nunit selenium-webdriver phantomjs ghostdriver


    【解决方案1】:

    我会推荐你​​以下活动:

    1) 尝试使用基于 phantomJs 的 node(-s) 重新启动您的 selenium hub。

    2) 尝试使用而不是

     driver.Navigate().GoToUrl(adress);
    

    这个:

    driver.get(URL);
    driver.findElement(selector).click();
    

    3) 另请参阅 phantomJs 文档以获取所有 phantomJs 功能:

    GhostDriver 额外功能

    • phantomjs.page.settings.SETTING = VALUE - 配置 page.settings PhantomJS 内部页面对象(WebDriver 上下文中的窗口)。 Reference
    • phantomjs.page.customHeaders.HEADER = VALUE - 添加额外的 HTTP 标头 加载 URL 时。 Reference

    PhantomJSDriver(Java 绑定)功能

    • phantomjs.binary.path - 指定要使用的 PhantomJS 可执行文件的路径
    • phantomjs.ghostdriver.path - 指定 GhostDriver main/src.js 的路径 要使用的脚本;然后允许使用不同版本的 GhostDriver 嵌入在 PhantomJS 中的那个
    • phantomjs.cli.args - 指定命令行参数传递给 PhantomJS 可执行文件
    • phantomjs.ghostdriver.cli.args - 指定命令行参数 传递给 GhostDriver(仅与 phantomjs.ghostdriver.path)

    更多详情,请联系GhostDriver page

    还可以查看 phantomJs command line options 。此信息也可能对您有所帮助。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多