我是一个新的量角器。我正在尝试在我的第一个Angular2应用程序上运行样本单元测试。
我的conf.js文件有:
exports.config = {
seleniumAddress: 'http://localhost:3000/login',
specs: ['todo-spec.js'],
capabilities: {
'browserName': 'chrome',
chromeOnly:true ,
directConnect: true }
};
2.my' todo-spec.js'文件有:
describe('Authentication capabilities', function() {
var email = element(by.id('inputusername'));
var password = element(by.id('inputPassword'));
var loginButton = element(by.class('btn-success'));
it('should redirect to the login page if trying to load protected page while not authenticated', function() {
browser.get('http://localhost:3000/login');
loginURL = browser.getCurrentUrl();
email.sendKeys("demo");
password.sendKeys("demo");
loginButton.click();
});
});
但是当我尝试通过以下命令运行量角器"量角器" filepath \ conf.js",
获得" E / launcher - 退出过程,错误代码为199"错误。
任何人都可以告诉我,我在哪里做错了?
答案 0 :(得分:3)
我通过在配置文件中添加useAllAngular2AppRoots: true,
来修复它。
另外,评论"seleniumAddress: 'http://localhost:4444/wd/hub"
所以现在我的代码就像这样,并且正在工作。
exports.config = {
//seleniumAddress: 'http://localhost:4444/wd/hub',
//directConnect: true,
specs: ['todo-spec.js'],
capabilities: {
'browserName': 'chrome',
},
useAllAngular2AppRoots: true,
framework: 'jasmine'
};
答案 1 :(得分:1)
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
//directConnect: true,
specs: ['todo-spec.js'],
capabilities: {
'browserName': 'chrome'
},
framework: 'jasmine'
};
如果要使用directConnect,请取消注释并注释seleniumAddress
答案 2 :(得分:1)
检查你是否安装了最新的JDK和JRE(Selenium似乎有些依赖它们)。这是意料之外的事情,我发现在运行Protractor测试任务时没有初始化服务器后发现了很难的方法。咽。
答案 3 :(得分:1)
我也面临着同样的问题。最终,我在更新了chrome最新版本后得到了解决方案。
我使用的是Chrome版本79.0
,并且已将其更新为最新版本80.0.3987.87
(正式版本)(64位)。
只需尝试更新适用于我的最新chrome版本即可。
答案 4 :(得分:1)
我也面临着同样的问题。最终,在将节点版本降级到11.15.0之后,我得到了解决方案。我正在使用节点版本12.0.0。
现在我有11.15.0,并且使用chrome的量角器测试效果很好。
答案 5 :(得分:0)
检查您的浏览器是否具有最新版本(对于我来说,此错误在Chrome变为最新版本后消失了)
答案 6 :(得分:0)
您必须更新自己的chromedriver。可能是因为您被锁定在较旧版本的webdriver-manager中,该版本不为您下载chromedriver 78。进行npm install -f protractor
应该会有所帮助。
答案 7 :(得分:-1)
我必须在 package.json 中更新旧版本的量角器。