JavaScript在页面上运行,但最后删除了自己的DOM节点.我该如何测试它做了什么
JavaScript ran on page, but at the end deleted its own DOM node. How do I test it did something?
一个场景,
我在DOM 中有一个脚本元素
这个脚本在页面上做了一些"事情",然后它删除了自己
<script type="text/javascript" id="the-javascript">
(function (d){
var ...,
script = d.getElementById('the-javascript'),
...;
// lotsa code !!
script.parentNode.removeChild(script);
}(document));
</script>
这是一个匿名IIFE(立即调用函数执行)
我怎么知道JavaScript是在页面上执行的呢。困在一个我必须找到的场景中。
除了view-source
还有别的吗?
编辑:
让我澄清一下。有人请解释投票被否决的原因
我正在运行一个测试用例,需要查找JavaScript是否在页面上运行
我知道开发工具的用法。啊code
位于script
标记中,代码删除了script
标记
代码是匿名的,所以没有全局变量,我可以在控制台或任何地方检查
我必须查找JavaScript是否在不使用view-source
的情况下创建了任何DOM元素
"我在一行中的问题是——"如果一个JavaScript代码自己删除了,我如何发现该代码已经在页面上执行"
如果脚本从DOM中删除了自己,则无法找到。。。因为它不在那里。。。因为它已被删除。
为了解决更新后的问题和评论,除了对页面发出XHR请求并分析收到的内容外,实际上没有任何方法可以安全地检测脚本是否运行,然后自行删除。
你可以搜索代码的副作用,但可能性太大了,可能是脚本没有明显的副作用。
像Chrome或IE这样的浏览器都有开发工具,可以告诉你(几乎)关于页面的一切。只需激活工具并观察页面加载即可。
如果你想知道脚本的作用,你也可以导航到它的地址:http://theirSite/main.js
注意:脚本没有删除自己,只是删除了加载它的节点。
相关文章:
- 我的单元测试选项是什么
- 在node.js中编写单元测试的最佳方式是什么
- 我的CSS/Javascript下拉菜单测试代码出了什么问题
- 有人能解释一下evaluate()和dragAndDrop()在下面的角度测试代码中调用了什么吗
- 在测试间谍的上下文中,存根和mock之间有什么区别?(茉莉花)
- Vue.js中端到端(e2e)测试的正确方式是什么
- 这个单元测试失败的原因是什么
- 在对javascript/NodeJS应用程序进行原型设计时,应该测试什么,不应该测试什么
- 有没有什么干净的方法可以对一组||测试进行编码,看看变量的值是否在其中一个测试中
- 基准测试js的结果是什么意思
- 有没有什么方法可以测试用户是否在WindowsXP上
- 有什么方法可以在超级测试中设置默认值吗
- 什么是声明性环境记录,它与激活对象有何不同
- 向modernizr添加测试的正确方法是什么
- 从命令行一次运行大量摩卡测试的好方法是什么
- 什么是上下文中静态类型javascript的示例,以更好地进行单元测试
- 开发 JavaScript - 我应该什么时候开始进行单元测试
- 在我的测试脚本中,我运行了 if 语句,但我从未运行过其他语句?我做错了什么
- 为网站自动化生成 JavaScript 测试对象的最佳方法是什么?
- 使用 Lodash 或 AngularJS 测试对象中是否存在值的最简单方法是什么?