PHPUnit,Selenium和Firefox都可以工作,但是当我用PhantomJS尝试它时,没有任何事情发生

时间:2016-01-10 23:48:24

标签: php linux selenium phpunit phantomjs

我有一组PHPUnit测试,利用WebDriver和Selenium通过我的Ubuntu机器上的浏览器运行测试。我让所有东西都按预期运行FireFox,然后尝试简单地将FireFox WebDriver配置交换为一些PhantomJS(1.9.8)WebDriver配置。当我使用一个简单的网站(google.com)时,PhantomJS会起作用,但是当我尝试我的开发网站时,PhantomJS中似乎没有任何事情发生,它最终在我的第一个断言中失败了。屏幕截图没什么用处(黑白棋盘格)。然而,如果我使用google.com,屏幕截图就是预期的Google网站。

    $capabilities = null;

    if($this->testConfig["test.browser"] == "phantomjs"){
        $capabilities = array(
            WebDriverCapabilityType::BROWSER_NAME => 'phantomjs'
            ,'phantomjs.page.settings.userAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86; rv:25.0) Gecko/20100101 Firefox/25.0'
            ,WebDriverCapabilityType::ACCEPT_SSL_CERTS => 'true'
            ,WebDriverCapabilityType::PLATFORM => 'LINUX'
            ,WebDriverCapabilityType::JAVASCRIPT_ENABLED => 'true'
            ,'--web-security' => 'no'
            ,'--ignore-ssl-errors' => 'YES'
            ,'--webdriver-loglevel' => 'DEBUG'
            ,'phantomjs.page.settings.webSecurityEnabled' => 'false'
        );
    } else {
        $capabilities = array(WebDriverCapabilityType::BROWSER_NAME => 'firefox');
    }

    $this->webDriver = RemoteWebDriver::create('127.0.0.1:8910', $capabilities, 5000);
    $window = new WebDriverDimension(1440,900);
    $this->webDriver->manage()->window()->setSize($window);
    $webDriver->get($url);

    $webDriver->takeScreenshot('/home/scc/screen1.png');


    $this->webDriver->wait(45, 1000)->until(
        WebDriverExpectedCondition::titleContains($this->testConfig["app.title"])
    );

在运行上面的代码之前,我在端口8910上启动了phantomJS服务器

scc@ubuntu:/scc/libraries/phantomjs$ phantomjs --webdriver=127.0.0.1:8910

PhantomJS正在推出GhostDriver ......

问题是我可以通过FireFox让我的远程站点工作(dev.example.com),但是我无法让它通过PhantomJS工作。我可以通过PhantomJS(google.com)访问其他网站,但不能访问我的dev.example.com。我已经尝试了许多不同的设置来从PhantomJS控制台获取更多与调试相关的日志消息,但到目前为止,没有太多的信息是有用的。

  

[INFO - 2016-01-10T23:31:10.717Z]会话[3b277b40-b7f2-11e5-98cd-41d97e3b4946] - page.settings - {“XSSAuditingEnabled”:false,“javascriptCanCloseWindows”:true,“javascriptCanOpenWindows” :true,“javascriptEnabled”:true,“loadImages”:true,“localToRemoteUrlAccessEnabled”:false,“userAgent”:“Mozilla / 5.0(X11; Ubuntu; Linux x86; rv:25.0)Gecko / 20100101 Firefox / 25.0”,“ webSecurityEnabled “:” 假“}   [INFO - 2016-01-10T23:31:10.718Z]会议[3b277b40-b7f2-11e5-98cd-41d97e3b4946] - page.customHeaders: - {}   [INFO - 2016-01-10T23:31:10.718Z]会话[3b277b40-b7f2-11e5-98cd-41d97e3b4946] - Session.negotiatedCapabilities - {“browserName”:“phantomjs”,“version”:“1.9.8”, “驱动程序名”: “ghostdriver”, “driverVersion”: “1.1.0”, “平台”: “Linux的未知32位”, “javascriptEnabled”:真实的, “takesScreenshot”:真实的, “handlesAlerts”:假的,“databaseEnabled “:假的,” locationContextEnabled “:假的,” applicationCacheEnabled “:假的,” browserConnectionEnabled “:假的,” cssSelectorsEnabled “:真实的,” webStorageEnabled “:假的,” 旋转 “:假的,” acceptSslCerts “:假的,” nativeEvents“: true,“proxy”:{“proxyType”:“direct”},“phantomjs.page.settings.userAgent”:“Mozilla / 5.0(X11; Ubuntu; Linux x86; rv:25.0)Gecko / 20100101 Firefox / 25.0”, “phantomjs.page.settings.webSecurityEnabled”: “假”}   [INFO - 2016-01-10T23:31:10.719Z] SessionManagerReqHand - _postNewSessionCommand - 新会话创建时间:3b277b40-b7f2-11e5-98cd-41d97e3b4946

我想也许这可能是我的dev.example.com的SSL问题,但到目前为止它与http与https完全相同。还有什么我可能做错了?我该怎么做才能帮助PhantomJS记录更多的调试信息,以便告诉它失败的地方?

谢谢,     肖恩

0 个答案:

没有答案