【问题标题】:Protractor Typescript to launch application using baseUrlProtractor Typescript 使用 baseUrl 启动应用程序
【发布时间】:2018-06-12 01:01:21
【问题描述】:

我正在使用 Protractor 打字稿来自动化 Angular 应用程序。当我使用“npm run e2e”运行时,我观察到 angular 总是在监听https://localhost:4200

我尝试将 Protractor.conf.js 中的 baseUrl 声明为参数,如下所示 -

params:
    {
    baseUrl: 'http://www.angular.io'}
    ,

我将 baseUrl 传递给 e2e-spec.ts 中的导航方法,如下所示 -

 page.navigateTo(browser.params.baseUrl);

但我不想每次在它块中将 Url 传递给 navigate() 方法。所以我希望 baseUrl 应该设置一次并被所有 spec-ts 文件反映或用作基本 url。就像我使用“npm run e2e”运行应用程序一样,它会自动启动https://localhost:4200

你能帮我吗,如何在一个地方更改网址,例如在 protraactor.conf.js 中,它应该由 spec.ts 中的 navigate() 自动使用。

感谢您的帮助...

【问题讨论】:

  • 您是否尝试在 protractor.conf.js 中添加 baseUrl: 'http://www.angular.io' 作为顶级属性? (例如与specscapabilitiesonPrepare 等处于同一级别)
  • 基本上我想知道它总是如何启动 localhost:4200。我读到这是由于默认行为,即角度总是在 4200 上监听。
  • 是的,我已经尝试过了,但它仍然启动 localhost:4200,当我调用 -page.navigateTo('/');那么期望它应该导航到我提供的baseUrl
  • 这个命令对我有用 protractor --basurl=sites.net 但不知道为什么当我设置基本 url 并说 npm run e2e 时它不起作用
  • 请在您的问题中显示您的package.jsonn

标签: angular typescript gruntjs protractor


【解决方案1】:

如下在配置文件中声明baseUrl,

exports.config = {
framework: 'custom',
//frameworkPath: protractorCucumberFramework,
frameworkPath: require.resolve('protractor-cucumber-framework'),

seleniumAddress: 'http://localhost:4444/wd/hub',
baseUrl: 'your application url',

//Browser Configurations
capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
        // Chrome is controlled by automated software : disable"
        'args': ['disable-infobars=true'],
    }
},

在Spec文件中,调用baseUrl,如下所述,

 browser.get("");

它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-05
    • 2017-10-23
    • 2021-08-28
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多