我必须测试需要登录的浏览器页面。有没有办法让浏览器在每个块之间保持打开状态,所以我不需要为每个块登录?
由于
答案 0 :(得分:0)
量角器关闭不同测试文件之间的浏览器是设计的。但是,有几种方法可以解决您的问题。
1)将所有测试写入一个文件
自我解释,这将完成你想要做的事情,但只有你没有并行运行测试才能工作。这对你有用,但我建议使用第二个选项。您可以在同一个测试文件中包含多个描述,这有助于您在此路线中更具可读性。示例test.js文件:
describe('Testing login',function(){
it('Should login',function(){
//test here
});
});
describe('Testing foo',function(){
it('Should test foo here',function(){
//test here
});
it('Should test foo here as well',function(){
//test here
});
});
describe('Testing bar',function(){
it('Should test bar here',function(){
//test here
});
it('Should test bar here as well',function(){
//test here
});
});
2)使用登录功能
这是我个人使用的。我有一个函数,我在每次登录的测试开始时调用。函数接受Username
和Password
。虽然这不会使浏览器保持打开状态,但我个人认为这是解决此问题的最佳方法。例如:
Test1.js:
const helper = require util.js;
const util = new helper;
describe('Testing foo',function(){
beforeAll(function(){
util.login();
};
it('Should test foo here',function(){
//test here
});
it('Should test foo here as well',function(){
//test here
});
});
test2.js
const helper = require util.js;
const util = new helper;
describe('Testing bar',function(){
beforeAll(function(){
util.login();
};
it('Should test bar here',function(){
//test here
});
it('Should test bar here as well',function(){
//test here
});
});
util.js中:
const helper = function(){
this.login = function(){
//do login here
}
}
这是关于重用代码的useful stack post,它更深入地讲述了一些语法。
答案 1 :(得分:0)
有没有办法让浏览器在每个it块之间保持打开状态,所以我不需要为每个it块登录?
是:在启动量角器之前提供浏览器会话-在量角器术语中称为Attach
如果在启动量角器之前已启动浏览器会话,则量角器将不会关闭浏览器会话。
我创建了一个NPM软件包以轻松启动浏览器。让我知道这是否对您有帮助。