gpt4 book ai didi

使用 Karma 在 HTTPS 上测试外部托管的应用程序

转载 作者:行者123 更新时间:2023-11-28 19:59:21 25 4
gpt4 key购买 nike

我有一个 AngularJS/Flask 应用程序,如果您尚未使用 HTTPS,它(服务器端)会将您重定向到自身的 HTTPS 版本。我想使用 Karma 来测试使用 HTTPS 的应用程序,但是如果不在我自己的计算机上运行 HTTPS 服务器,我无法在本地进行测试(这很麻烦),所以我将我的应用程序推送到 Heroku 站点(比如mine.herokuapp.com) 有 SSL。现在,我正在尝试使用类似

的配置文件针对此外部站点运行我的 Karma 测试
var PROXYPATH = 'mine.herokuapp.com';

files = [
...
];

urlRoot = '/_karma_/';
singleRun = true;
browsers = ['Chrome'];

proxies = {
'/': PROXYPATH
};

但是当我尝试运行我的测试时,我在导航到应用程序时收到错误 Sandbox Error: Application document not accessible。我肯定 Heroku 方面没有任何问题;我可以很好地导航到那里。有没有办法在 Karma 中测试 HTTPS,或者我是在徒劳无功?

最佳答案

我在 IIS 中运行我的开发站点时遇到了这个问题,它将所有 HTTP 请求重定向到 HTTPS

我还没有开始工作,但我现在至少可以让它在 Karma runner 的 iframe 中加载网站

我必须指定主机名 并且还允许无效的 SSL 证书proxyValidateSSL

这是我的配置 (GruntJS) 格式。

config.set({
frameworks: [],
files: [
'assets/angular-scenario.js',
'node_modules/karma-ng-scenario/lib/adapter.js',
'tests/e2e/**/*Spec.js'],
urlRoot: '/__e2e/',
hostname: '10.0.0.3',
proxyValidateSSL: false,
proxies: {
'/': 'https://10.0.0.3/'
},
browsers: ['Chrome']
});

我遇到的下一个问题是我使用 X-Frame-Options:Deny HTTP header 来阻止外部站点将 mysite 注入(inject)到他们在 iframe 中的站点

我必须将其更改为 X-Frame-Options:SameOrigin,然后我的开发站点将加载到 Chrome 中的 Karma runner 中。

我的问题

然后我有以下 Jasmine 规范,navigateTo 工作正常,但它随后卡在 expect() 行上并且永远不会返回。

describe('My App', function () {
beforeEach(function () {
browser().navigateTo('/');
});

it('should redirect to Login', function () {
expect(browser().location().url()).toBe('/Login'); // <- Hangs here
});
});

更新(2013 年 9 月 6 日)

我做了一些尝试,看看我是否能让它工作。我的应用程序使用路由,并且在删除 otherwise 路由配置后它起作用了。我仍然需要其他路线,所以我仍然不开心。但一定有什么东西阻止它加载

失败

    app.config(['$routeProvider', function ($routeProvider) {

$routeProvider
.when('/Foo', {
templateUrl: 'foo.tpl.html',
controller: 'FooCtrl',
controllerAs: 'ctrl'
}).otherwise({
redirectTo: '/Foo'
});

}]);

适用于

app.config(['$routeProvider', function ($routeProvider) {

$routeProvider
.when('/Foo', {
templateUrl: 'foo.tpl.html',
controller: 'FooCtrl',
controllerAs: 'ctrl'
});

}]);

关于使用 Karma 在 HTTPS 上测试外部托管的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18110760/

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