【发布时间】:2021-01-08 11:35:37
【问题描述】:
我正在尝试在我的 Angular 应用程序上运行 e2e 测试。当我运行 ng e2e 时,我的测试在本地通过,但不在我的管道中。我将分享我的 protractor.conf、管道任务以及我从下面失败的任务中获得的输出。
更多背景知识:
- 我正在尝试从原本为空的 Angular 应用程序运行 e2e 代码。这 测试我试图运行简单地通过导航到我的登录到 AD 网站,输入用户名/密码,然后检查 用户被重定向到我的网站。
- 我正在从一个版本中运行它 添加包含 e2e 测试的 repo 的管道 神器。
- 我正在使用 xpaths 在页面上查找元素
- 我省略了我的 jasmine 代码,因为我认为它不相关,因为测试在本地通过。但是,如果我在这一点上有错误,请告诉我,我会发布它。
protractor.conf.js
const { SpecReporter } = require('jasmine-spec-reporter');
process.env.CHROME_BIN = process.env.CHROME_BIN || require("puppeteer").executablePath();
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
chromeOptions: {
args: ["--headless", "--disable-gpu", "--window-size=1200,900"],
binary: process.env.CHROME_BIN
},
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 120000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
请帮助我让这些测试在 azure 中通过
谢谢!
编辑:我有那个“更新 Webdriver”任务,因为我读到我应该在某个地方做,它实际上不会改变结果,无论它是否存在
【问题讨论】:
-
你能分享你的测试文件吗?
-
请检查chromedriver.exe(在您的日志中,您安装了
chromedriver 2.46)是否与chrome兼容。如果您没有指定环境CHROME_BIN,则使用包puppeteer提供的 chrome,从该包中找到 chrome 二进制文件并检查其版本。
标签: javascript angular selenium protractor azure-devops