我想知道是否可以使用角度情景测试仪(和业力)来测试任何网页。
或者它是否仅适用于角度源代码?
换句话说,它是非常通用的并非“真正”与角色相关吗?
我正在用自耕农写一个angularJs应用程序,而且我喜欢ng2es测试完成的方式。
我有另一个应用程序,不是以角度编写的,而是在道场中,我想以同样的方式测试它。
你认为这是可能的,如果是的话,你对如何做的建议是什么?
谢谢!
注意:实际上测试过的网页中是否有一些角度代码,所以这个问题很有意义。诸如casperJs或selenium之类的工具独立于页面中的js技术。
答案 0 :(得分:2)
因此很容易实现。你只需要
1 /安装业力
npm install -g karma
2 /安装ng-scenario和karma-ng-scenario的依赖关系
npm install ng-scenario npm install karma-ng-scenario --save-dev
3 /如果需要代理,则创建/修改karma e2e配置。情况就是这样 通常,dojo运行在与业力不同的服务器上。那么你 为karma指定一个特定端口,并代理服务器。这里 是我的配置示例:
module.exports = function(config){config.set({ //基本路径,用于解析文件和排除 basePath:'',
// testing framework to use (jasmine/mocha/qunit/...) frameworks: ['ng-scenario'], // list of files / patterns to load in the browser files: [ 'https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js', 'test/e2e/**/*.js' ], // list of files / patterns to exclude exclude: [], // web server port port: 8033, runnerPort : 9100, // level of logging // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: false, // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) browsers: ['Chrome'], // Continuous Integration mode // if true, it capture browsers, run tests and exit singleRun: false, // Uncomment the following lines if you are using grunt's server to run the tests proxies: { '/': 'http://localhost:8080/' }, // URL root prevent conflicts with the site root urlRoot: '_karma_' }); };
karma start 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 );
} );
} );
答案 1 :(得分:0)
请注意,某些测试代码将起作用(例如计数元素),而另一些则不起作用(例如设置不由Angular提供的输入)。
这是一个尝试使ngScenarios可以与任何JS工具一起使用的工具:http://davidb583.github.io/BlackboxJS