我们有一个协作网络应用程序,在用户A的浏览器中执行的操作将在用户B的浏览器中产生副作用。聊天室是应用程序的一部分,也是我们尝试测试的一个很好的例子。
我们目前的筹码是:
测试此测试的最佳方法是什么?而“最好的”我的意思是“任何”。完整集成测试需要2个浏览器和2个Web服务器(HTML和Web套接字)。两个Web服务器都在Node上运行,因此至少它与Testacular的其余部分处于相同的环境中。
在我看来,它需要
有没有人遇到这类测试的文档或示例(最好是使用Jasmine的Testacular,但我们愿意接受选项)?甚至关于使用哪些搜索术语的建议也会有所帮助。
答案 0 :(得分:0)
我不确定我的建议是否会对你有所帮助。
我想到的第一个工具是Selenium。好消息(基于您当前使用的堆栈)是您可以使用JavaScript
进行编写测试。这是一个在Google
上搜索术语“Cheese”然后将结果页面的标题输出到控制台的示例:
var driver = new webdriver.Builder().build();
driver.get('http://www.google.com');
var element = driver.findElement(webdriver.By.name('q'));
element.sendKeys('Cheese!');
element.submit();
driver.getTitle().then(function(title) {
console.log('Page title is: ' + title);
});
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title.toLowerCase().lastIndexOf('cheese!', 0) === 0;
});
}, 3000);
driver.getTitle().then(function(title) {
console.log('Page title is: ' + title);
});
driver.quit();
我认为使用Selenium 2可以“打开”更多浏览器实例 - 这意味着您将能够测试它们之间的副作用/交互。
作为替代方案,您还可以查看使用Selenium的WindMill项目,UItest.js或商业产品Twist或(也是Spudley提到的)Sahi作为{ {3}}用于测试。