I am using protractor for angular js testing in my app and have around 19 test cases at the moment, of which one of them is failing
describe('Login page', function() {
beforeEach(function() {
browser.ignoreSynchronization = true;
ptor = protractor.getInstance();
});
it('should contain navigation items', function(){
//test case code here
});
it('should login the user successfully', function(){
//test case code here
})
});
Currently, I run all the test cases. But, how can I run just one test case to debug an issue for example one which is described as "Login page should login the user successfully"?
The most recent version (at least) of Protractor supports the usual Jasmine way of doing that: rename a describe()
function to ddescribe()
, and only the tests inside it will run. Or rename an it()
function to iit()
, and only this test will run.
Jasmine added fit
and fdescribe
in 2.1 for running single tests or describe blocks.
http://pivotallabs.com/new-key-features-jasmine-2-1/
This feature almost made it in the 2.0 release. Now enough of this
functionality is present to support fit and fdescribe for focused spec
and suite running.
from 2.1 git lib/jasmine-core/jasmine.js
var jasmineInterface = {
describe: function(description, specDefinitions) {
return env.describe(description, specDefinitions);
},
xdescribe: function(description, specDefinitions) {
return env.xdescribe(description, specDefinitions);
},
fdescribe: function(description, specDefinitions) {
return env.fdescribe(description, specDefinitions);
},
it: function() {
return env.it.apply(env, arguments);
},
xit: function() {
return env.xit.apply(env, arguments);
},
fit: function() {
return env.fit.apply(env, arguments);
},
Perhaps you should separate the tests into different suites. Then you can just run:
protractor test/protractor-conf.js --suite example