Unit testing RiotJS和无头webkit

Unit testing RiotJS和无头webkit,unit-testing,phantomjs,mocha.js,headless-browser,riot.js,Unit Testing,Phantomjs,Mocha.js,Headless Browser,Riot.js,目前正在使用RiotJS和Mocha进行单元测试。我想知道我是否可以使用PhantomJS&CasperJS这样的无头浏览器webkit对我的RiotJS标签/页面进行额外的测试。到目前为止,我加载标签/页面和对文档执行查询的所有尝试都失败了。如有任何样品/链接,将不胜感激 谢谢 已更新: querySelector对“#testId”失败,但对“testId2”成功 从我的单元测试中摘录: page.open('http://localhost/src/default.html', fun

目前正在使用RiotJS和Mocha进行单元测试。我想知道我是否可以使用PhantomJS&CasperJS这样的无头浏览器webkit对我的RiotJS标签/页面进行额外的测试。到目前为止,我加载标签/页面和对文档执行查询的所有尝试都失败了。如有任何样品/链接,将不胜感激

谢谢

已更新: querySelector对“#testId”失败,但对“testId2”成功

从我的单元测试中摘录:

  page.open('http://localhost/src/default.html', function (status) {
   var test = document.querySelector("#testId"); // returns undefined
  }

<!-- html page -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Riot.js Example</title>
</head>
<body>

<!-- mount points -->

<spinner data-url="./data.json" data-sourceId="instance1" data-model="myModel" id="testId"></spinner>
<imageoutput data-sourceId="instance1" data-model="myModel"></imageoutput>

<div id="testId2">this content</div>

<!-- mount the same way -->
<!--[if lt IE 9]>
<script src="../dist/scripts/es5-shim.js"></script>
 <script src="ie-stuff.js"></script>
<![endif]-->

<script src="../dist/scripts/require.js" data-main="./main"></script>

</body>
</html>
page.open('http://localhost/src/default.html,功能(状态){
var test=document.querySelector(“#testId”);//返回未定义的
}
Riot.js示例
此内容
帕特里克

您最好指定要执行哪些测试目标,在每个页面上执行哪些操作,看看CasperJS/PhantomJS是否实现了这一点

CasperJS和PhantomJS可以独立工作,我承认,今天,任何自动化项目页面或测试,我都只使用它们,并给出窍门

对于布局测试(图像、字体、CSS),您可以研究PhantomCSS,但如果您的目标是导航、单击、测试元素,甚至下载归档文件(假设使用Silverlight、Java避免URL…CasperJS将说明您可以做任何您想做的事…以及您可以在log.xml上获得的回报,以便在任何其他工具或系统中处理它

我正在完成我的新网站和它,发布了一些关于CasperJS和PhantomJS的教程和技巧…在未来,也许会有一个课程。。。 如果你愿意,你可以在facebook、twitter、github上找到我……当一切都在线时,在那里发布。

Patrick

您最好指定要执行哪些测试目标,在每个页面上执行哪些操作,看看CasperJS/PhantomJS是否实现了这一点

CasperJS和PhantomJS可以独立工作,我承认,今天,任何自动化项目页面或测试,我都只使用它们,并给出窍门

对于布局测试(图像、字体、CSS),您可以研究PhantomCSS,但如果您的目标是导航、单击、测试元素,甚至下载归档文件(假设使用Silverlight、Java避免URL…CasperJS将说明您可以做任何您想做的事…以及您可以在log.xml上获得的回报,以便在任何其他工具或系统中处理它

我正在完成我的新网站和它,发布了一些关于CasperJS和PhantomJS的教程和技巧…在未来,也许会有一个课程。。。
如果你愿意,你可以在facebook、twitter、github上找到我……当一切都在线时,在那里发布。

我在使用量角器和riotjs的Karma方面取得了一些成功。当然,我们在项目中使用了量角器,但原则保持不变

虽然Karma和量角器通常用于测试角度应用,但它们是不可知的。 这里有大量的信息,并且得到了广泛的支持

从源代码中我可以看出,您可能正在执行异步操作(
data url=“./data.json”
),这意味着您需要在应用程序中发出一个标志,表明数据已加载或页面已准备就绪


您可以通过使用
document.querySelector(“imageoutput”)来反省riot。_tag
来调查您的riot标签的状态。

我在riotjs中使用了量角器和Karma,取得了一些成功。虽然我们在项目中使用了量角器,但原则保持不变

虽然Karma和量角器通常用于测试角度应用,但它们是不可知的。 这里有大量的信息,并且得到了广泛的支持

从源代码中我可以看出,您可能正在执行异步操作(
data url=“./data.json”
),这意味着您需要在应用程序中发出一个标志,表明数据已加载或页面已准备就绪


您总是可以通过执行
document.querySelector('imageoutput')来进行内省.\u tag
来调查你的riot标签的状态。

嗨,迭戈,谢谢你的回复。我添加了一些我看到的代码片段。从我的第一篇文章开始,我一直在考虑使用karma+requirejs+riot+phantom来确保所有依赖项都被加载。遇到了其他问题,但这是另一个线程的故事!)你好,迭戈,谢谢你的回复。我添加了一些我看到的代码片段。从我的第一篇帖子开始,我一直在考虑使用karma+requirejs+riot+phantom来确保所有依赖项都被加载。遇到了其他问题,但这是另一个线程的故事!)你好,迭戈,谢谢你的回复。我添加了一些我看到的代码片段。从我的第一篇帖子开始,我一直在考虑使用karma+requirejs+riot+phantom来确保所有依赖项都被加载。遇到了其他问题,但这是另一个线程的故事!)