RiotJS和无头webkit

时间:2015-06-18 03:43:52

标签: unit-testing phantomjs mocha headless-browser riot.js

目前使用RiotJS和Mocha进行单元测试。想知道我是否可以使用像PhantomJS& amp; CasperJS对我的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>

2 个答案:

答案 0 :(得分:0)

帕特里克,

您最好指定您想要做的测试目标,在每个页面上做什么以查看CasperJS / PhantomJS是否实现了它!

与PhantomJS合作的CasperJS可以独立工作,我今天承认任何自动化项目页面或测试,我只使用它们并提供技巧!

对于布局测试(图像,字体,CSS),您可以学习PhantomCSS,但如果您的目标是导航,单击,测试元素甚至下载存档(假设使用Silverlight,Java避免使用URL ... CasperJS会给你做任何你想做的事情...以及你可以在log.xml获得的回报,以便在任何其他工具或系统中对其进行处理。

我正在完成我的新网站,并发布了关于CasperJS和PhantomJS的几个教程和提示......以及将来,也许是一门课程...... 如果你想要你可以在facebook,twitter,github上找到我...当一切都在线时发布在那里。

答案 1 :(得分:0)

我使用Protractor和Karma与riotjs取得了一些成功。当然,我们将RiotTS用于项目,但原则保持不变。

尽管Karma和Protractor通常用于常用的测试角应用,但它们是不可知的。 有大量的信息,并得到广泛支持。

从源代码我可以看到你可能正在做异步的事情,(data-url="./data.json")这意味着你需要在你的应用程序中提出一个数据加载或页面就绪的标志。

你可以通过document.querySelector('imageoutput')._tag来调查骚乱标记的状态来反省骚乱。