首页 > 解决方案 > 有没有办法在配置文件中添加两个 url 并使用量角器从页面对象文件中调用?

问题描述

我可以从一个页面对象文件中调用 baseUrl,但我无法从另一个页面对象文件中调用 schoolUrl。我正在尝试从配置文件调用 url,而不在页面对象文件中添加整个 url。

我的 config.js 文件是

exports.config = {
   allScriptsTimeout: 11000,
  restartBrowserBetweenTests: true,
  specs: [
    './e2e/**/*.e2e-spec.ts'
  ],
  framework: 'jasmine2',
  capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        args: ["--start-maximized", "--window-size=1630,963"]
    }
  },
  directConnect: true,
  port: null,
  baseUrl: 'https://class.com',
  schoolUrl: 'https://school.com'
 }

我的页面对象文件调用 baseUrl

   import {browser, by, element, ElementFinder, ExpectedConditions, promise} from 'protractor';

export class SchoolPage {
    public staffUrl = '';

    public async navigateTo(): Promise<any> {
    return browser.get(``)  ; 
    }

我如何从 config.js 文件中调用 schoolUrl,例如直接调用基本 url 而无需在 po 文件中添加 url

标签: javascripttypescriptprotractorgulp-protractor

解决方案


如果您将此添加到您的配置中

exports.config = {
   allScriptsTimeout: 11000,
  restartBrowserBetweenTests: true,
  specs: [
    './e2e/**/*.e2e-spec.ts'
  ],
  framework: 'jasmine2',
  capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        args: ["--start-maximized", "--window-size=1630,963"]
    }
  },
  directConnect: true,
  port: null,
  baseUrl: 'https://class.com',
  params: {
    schoolUrl: 'https://school.com'
  },
}

然后您可以像这样在代码中引用该变量browser.params.schoolUrl


推荐阅读