如何使用phantomjs / Selenium跟踪Codeception中的<script>元素/错误?

时间:2017-03-13 16:24:35

标签: javascript selenium phantomjs codeception

我已经使用codeception和phantomjs设置了验收测试。&#xA;我的网站包含脚本元素:

&#xA;&#xA;
 &lt; script src =“/ bla / test.js“type =”text / javascript“&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

JavaScript文件如下所示:

&#xA;&#xA;
  Bla = {&#xA; request:function(var){&#xA; }&#xA;};&#xA;  
&#xA;&#xA;

看起来内容无法找到,因为其中一个按钮包含

&# xA;&#xA;
  onclick =“返回Bla.request('100')”&#xA;  
&#xA;&#xA;

运行单击此按钮的验收测试显示:

&#xA;&#xA;
  [Selenium browser Logs]&#xA; 17:10:24.876警告 -  SyntaxError:解析错误&#xA;&#xA; 17:10:25.121警告 -  ReferenceError:找不到变量:Bla&#xA; onclick(http:// localhost / bla)&#xA;屏幕截图和页面源保存在'/ var / www / bla / _output /'dir FAIL&#xA;  
&#xA;& #xA;

第一个解析错误是否意味着文件已加载但包含错误?如果是这样,我怎样才能看到确切的解析错误?

&#xA;&#xA;

在验收测试中手动请求JS文件并且它是正确的文件(如输出所示):

&#XA;&#XA;
 <代码> $ I-&GT; amOnPage( '/ BLA / test.js');&#XA;  
&#XA ;&#xA;

我使用选项--debug运行codeception并查看输出文件,其中一切看起来都正确。如何查看JavaScript文件是否已正确导入,以及解析错误是否表示失败,如何获取有关错误的更多信息?

&#xA;&#xA;

编辑:& #xA;即使解析错误不存在,我也无法从不同的JavaScript文件访问变量。&#xA;当我有多个脚本元素时:

&#xA;&#xA;
  &lt; script src =“/ bla / test0.js”type =“text / javascript”&gt;&lt; / script&gt;&#xA;&lt; script src =“/ bla / test1.js”type =“text / javascript “&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

我收到错误消息:

&#xA;&#xA;
  ReferenceError:如果在test0.js中定义,则无法在文件test1.js中找到变量:Bla&#xA;  
&#xA;&#xA;

。这可以在普通浏览器中正常运行。

&#xA;

0 个答案:

没有答案