Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-在服务器上测试浏览器代码_Javascript_Node.js_Testing - Fatal编程技术网

Javascript-在服务器上测试浏览器代码

Javascript-在服务器上测试浏览器代码,javascript,node.js,testing,Javascript,Node.js,Testing,我们有一个node.js应用程序,可以在合作伙伴网站上显示内容。我们的合作伙伴在HTML模板中包含一些javascript代码,指向我们的服务器,然后我们使用加载代码的页面URL来确定要显示的内容。作为第三方脚本,我们主要依靠document.referer获取包含页面的URL,但有时我们被包含在iframe中,这会使事情变得复杂。我们希望通过编写一个全面的测试套件使这段代码更加健壮 有没有一种在服务器上测试这种功能的好方法?我们需要模拟一个支持javascript的浏览器,它需要像普通浏览器一

我们有一个node.js应用程序,可以在合作伙伴网站上显示内容。我们的合作伙伴在HTML模板中包含一些javascript代码,指向我们的服务器,然后我们使用加载代码的页面URL来确定要显示的内容。作为第三方脚本,我们主要依靠document.referer获取包含页面的URL,但有时我们被包含在iframe中,这会使事情变得复杂。我们希望通过编写一个全面的测试套件使这段代码更加健壮

有没有一种在服务器上测试这种功能的好方法?我们需要模拟一个支持javascript的浏览器,它需要像普通浏览器一样报告推荐人。我们还需要能够通过模拟域名、端口等在服务器上测试跨源问题


最好是使用node.js,但这不是一个要求。

似乎是一种不一致的方式来检测谁在请求内容?为什么不在脚本url的查询字符串中传递某种哈希或令牌来标识客户端站点?这就是我们要做的,这也使客户端能够在其页面上有我们脚本的多个版本。您可以将包含的JavaScript报告添加到
window.top.location.href
?它不是绝对正确的(很明显),但可能是有用的。为什么你想要所有能够进行测试的机器的服务器?是的,有跨浏览器的测试套件。您尝试过吗?@box86rowh,我们需要知道整个URL,而不仅仅是合作伙伴ID(因为我们已经为合作伙伴的页面编制了索引,需要选择正确的页面作为内容的基础),但事实上,当包含在iframe中时,我们当前确实会将URL作为参数发送。如果最可靠的解决方案是将URL作为参数发送,那我们就可以了。@DavidThomas,这可能就是我们最终得到的解决方案,这取决于它的可靠程度。在开始实际的JS代码之前,我们想先测试一下。不过,这不仅仅是关于URL的问题,我们还根据集成方法使用不同的方式注入内容。例如,我们有时使用document.write,有时使用DOM方法将内容添加到合作伙伴指定的元素中。我们希望能够测试所有这些东西。