加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2 – 在不同环境中执行e2e测试

发布时间:2020-12-17 07:11:14 所属栏目:安全 来源:网络整理
导读:我是Protractor的新手.我开发了几个测试用例来完成端到端测试.这些测试用例在我们拥有的所有3种不同环境中都能正常工作:开发,测试和生产. 但是我需要在测试用例中更改Angular应用程序URL,以确定需要进行测试的环境(因为URL因环境而异). 我正在使用Angular C
我是Protractor的新手.我开发了几个测试用例来完成端到端测试.这些测试用例在我们拥有的所有3种不同环境中都能正常工作:开发,测试和生产.

但是我需要在测试用例中更改Angular应用程序URL,以确定需要进行测试的环境(因为URL因环境而异).

我正在使用Angular CLI命令ng e2e来运行测试.现在我的问题是

1)是否可以通过params ng e2e,以便基于params,可以在测试用例中动态设置URL?

2)是否有必要全局安装量角器,因为Angular CLI在node_modules下使用量角器创建角度应用程序?

在我的项目设置中,Protractor版本是5.1.2,Angular CLI版本是1.2.0.

下面是Protract配置

exports.config = {
  allScriptsTimeout: 11000,specs: [
     './e2e/**/*.e2e-spec.ts'
  ],capabilities: {
    'browserName': 'chrome'
  },directConnect: true,baseUrl: 'http://localhost:4200/',framework: 'jasmine',jasmineNodeOpts: {
    showColors: true,defaultTimeoutInterval: 30000,print: function() {}
  },useAllAngular2AppRoots: true,beforeLaunch: function() {
    require('ts-node').register({
        project: 'e2e'
    });
  },onPrepare: function() {
    jasmine.getEnv().addReporter(new SpecReporter());
  }
};

我尝试了几个例子,比如添加params:[env:dev]并在命令行中传递参数为ng e2e params.env = test,但我总是得到默认值而不是从命令行传递的值.

我也试过@cnishina的答案,但是process.log的process.env没有必要的细节.

解决方法

使用环境变量在环境之间切换

我的建议是尝试使用环境变量并在Protractor配置文件中的环境之间切换.您可以导出TEST_ENV = dev,然后为browser.baseUrl提供条件

量角器配置文件

var baseUrl = '';
if (process.env.TEST_ENV === 'dev') {
  baseUrl = 'http://devurl';
} else if (process.env.TEST_ENV === 'stage') {
  baseUrl = 'http://stageurl';
} else {
  baseUrl = 'http://produrl';
}

exports.config = {
  baseUrl: baseUrl
}

有关使用process.env的配置文件的更好具体示例,请参阅Testing Angular Applications,chapter 11 GitHub repo.

你也可以改变内联的baseUrl参数;但是,如果您根据测试环境更改多个变量,我建议使用环境变量:

ng e2e {protractor config file} –baseUrl =’http:// devurl’

量角器全球安装?

量角器不需要全局安装.建议使用node_modules目录中本地安装的版本.这将为其他开发人员提供可重复的步骤,使用相同的Protractor依赖关系来运行e2e测试.或者,如果您使用全局安装的版本,则现在必须指示其他开发人员使用特定的Protractor版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读