1

我有一个在 IE 和 Chrome 网络驱动程序上运行的 NUnit 测试套件。但是当我想尝试无头 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 测试本身设置为成功,但该操作从未发生。当尝试基于先前的操作做某事时,这一点尤其明显。任何帮助,将不胜感激!=)

4

1 回答 1

0

我会向您推荐以下活动:

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

2)尝试使用而不是

 driver.Navigate().GoToUrl(adress);

这个:

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

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

GhostDriver 额外功能

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

PhantomJSDriver(Java 绑定)功能

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

更多细节可以在GhostDriver 页面获得

还要查看phantomJs 命令行选项。此信息也可能对您有所帮助。

希望这对您有所帮助。

于 2014-07-06T18:10:06.393 回答