getstatuscode is not working with phantomJS
我正在测试一个加载和加载大量网页的Web应用程序,我想验证每个提交都没有URL损坏。这是一个代码段。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $page = $this->getSession()->getPage(); $page_URLs = $page->findAll('css', 'header nav ul a'); assertEquals(16, count($page_URLs)); foreach($page_URLs as $pageUrl){ try{ $pageUrl->click(); $statusCode = $this->getSession()->getStatusCode(); echo $pageUrl->getText(); assertEquals(200, $statusCode,"The webpage is not available"); } catch (Exception $ex) { echo 'Caught exception: ', $ex->getMessage(),"\ "; } $this->getSession()->back(); } |
我正在使用带有Goutte驱动程序的Behat MINK(作为无头浏览器)进行CI集成(并且getStatusCode()正常工作)。但是,Web应用程序上的大多数功能都是Java脚本驱动的,因此,我必须继续使用支持javascript的PhantomJS。但是我没有意识到getStatusCode()不能用于PhantomJS。
任何人都知道我是否可以将其替换为某种东西并获得相似的结果。
通过WebDriver协议(selenium)实现了Behat中的
PhantomJS支持。 WebDriver不支持有意检查状态代码,因为它不在模拟用户操作的范围之内。