我想知道是否有可能用角度场景测试器(和业力)测试任何网页。
或者它是专为只使用角源代码而设计的?
换句话说,它是否泛指与角度无关的“真的”?
我正在用yeoman编写一个angularJs应用程序,我喜欢e2e测试的方式,这要归功于ngResource。
我有另一个应用程序,不是用角写的,而是用dojo写的,我想用同样的方式测试它。
你认为这是可能的吗?如果是的话,你对如何做到这一点有什么建议?
谢谢!
注意:实际上,测试过的网页中有一些角度代码,所以这个问题是有意义的。casperJs或selenium等工具与页面中的js技术无关。
发布于 2013-09-17 17:14:35
因此,这是很容易实现的。你只需要
1/安装业力
npm安装-g业力
2/安装ng-方案和因果报应的依赖关系
npm安装ng-方案npm安装业力-ng-方案-保存-dev
3如果需要代理,创建/修改业力e2e配置。这通常是因为dojo运行在不同的服务器上,而不是业力。因此,您指定了业力的特定端口,并代理到您的服务器。下面是我的配置的一个示例:
module.exports =config.set(配置){ config.set({ //基路径),用于解析文件并排除basePath:'', //要使用的测试框架(茉莉花/摩卡/qunit/.)框架:“ng-场景”,//要加载到浏览器文件中的文件/模式列表:'https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js',‘test/e2e/*..js’,//文件/模式列表排除:[],// web服务器端口: 8033,runnerPort : 9100,//日志记录//可能值的级别: LOG_DISABLE \/- LOG_ERROR //启动这些浏览器,当前可用: // - Chrome // ChromeCanary /- Firefox // - Opera // - Safari (只有Mac) // - PhantomJS // - IE (只有Windows):“浏览器”,//连续集成模式/如果为真,它捕获浏览器、运行测试并退出singleRun: false,//取消注释以下行(如果您使用grunt的服务器运行测试代理:{ '/':'http://localhost:8080/‘},// URL根防止与站点根urlRoot:'_karma_’}的冲突);};
业力启动业力-e2e.conf.js
魔术,以下代码工作-愉快的测试:)
describe ( 'Publications', function ()
{
beforeEach (
function ()
{
console.log ( "before each" );
browser ().navigateTo ( "yourPageToTestUrl" );
}
);
it ( 'should filter results', function ()
{
expect ( repeater ( '.Publication' ).count () ).toEqual ( 4 );
} );
} );发布于 2014-01-23 16:57:31
请注意,一些测试代码将工作(例如计数元素),而另一些测试代码将不能工作(例如设置一个不按角度进行调整的输入)。
下面是一个使ngScenarios与任何JS工具一起工作的工具:http://davidb583.github.io/BlackboxJS
https://stackoverflow.com/questions/18803188
复制相似问题