gpt4 book ai didi

protractor - 我如何知道 Protractor 中运行测试中使用的基本 url?

转载 作者:行者123 更新时间:2023-12-03 18:18:58 26 4
gpt4 key购买 nike

我正在尝试在 Protractor 中进行导航测试,但没有发现配置中的 baseUrl 与测试中使用的 url 有任何一致性。

Protractor .conf.js

exports.config = {
baseUrl: 'http://localhost:4200/'
}

navbar.e2e-spec.ts

import { NavbarPage } from './navbar.po';
import * as protractor from './../protractor.conf.js';
describe('navbar', () => {
let navbar: NavbarPage;
const baseUrl = protractor.config.baseUrl;

beforeEach(() => {
navbar = new NavbarPage();
browser.get('/');
});
it(`should see showcase nav item, be able to (click) it,
and expect to be navigated to showcase page`, () => {
const anchorShowcase = navbar.anchorShowcase;
expect(anchorShowcase.isDisplayed()).toBe(true);
anchorShowcase.click();
browser.waitForAngular();
expect(browser.getCurrentUrl()).toBe(baseUrl + '/showcase');
});
});

虽然当我运行 e2e 测试时它使用不同的端口:

** NG Live Development Server is listening on localhost:49154, open your browser on http://localhost:49154/ **

为什么测试 url 设置为端口 49154。如果您启动一个新的 angular-cli 项目,这显然似乎是默认设置:https://github.com/angular/angular-cli

我怎样才能控制 baseUrl/或者 http://localhost:49154/ 是否可以安全地用于我所有的 angular cli 项目?

最佳答案

默认情况下,当您执行 ng e2e 时,命令将 --serve 值设为 true。这意味着它将在特定 URL 中构建和服务。不是您在 protractor.conf.js

中传递的 baseUrl

这就是为什么在测试您的应用程序时,您会得到一个随机 URL,例如 http://localhost:49154/

现在因为你不想在测试期间构建并且想要测试现有的构建(URL)比如 http://localhost:4200/ 你需要通过 --no-serve 在你的命令行中,它会从 protractor.conf.js

中选择 baseUrl

您还可以在命令行中传递 baseUrl,如下所示。请注意,这不是 baseUrl 而是 --base-href=

ng e2e --no-serve --base-href=https://someurl.com:8080

关于protractor - 我如何知道 Protractor 中运行测试中使用的基本 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com