【发布时间】:2016-09-09 20:43:08
【问题描述】:
尝试使用量角器运行我的 jasmine 规范时,我收到了非常奇怪的测试规范行为。
我有两个都应该通过的空规范,但是我的第一个规范通过了,然后所有正在进行的规范都失败了。我相信这可能与版本级别有关,因为当我进行更新时,它导致我的 jasmine 测试用例中断。
- 量角器 3.3.0
- 茉莉花2.4.1
测试规范
it('test spec 1', function () {
});
it('test spec 2', function () {
});
错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。
'use strict';
exports.config = {
seleniumAddress: 'http://127.0.0.1:4723/wd/hub',
baseUrl: 'http://10.0.2.2:' + (process.env.HTTP_PORT || '8000'),
specs: [
'./e2e-test.js'
],
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
isVerbose: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
capabilities: {
deviceName:"Samsung S7",
platformName: 'Android',
'appium-version': '1.4.16',
platformVersion:'23',
app: 'C:/Users/egreen/Desktop/Android/foo/platforms/android/build/outputs/apk/android-debug.apk',
browserName:'',
udid:'988627534e4c383848',
autoWebview: true
},
// A callback function called when tests are started
onPrepare: function () {
var wd = require('wd'),
protractor = require('protractor'),
wdBridge = require('wd-bridge')(protractor, wd);
wdBridge.initFromProtractor(exports.config);
require('jasmine-reporters');
var fs = require('fs'),
d = new Date(),
date = [
d.getFullYear(),
('0' + (d.getMonth() + 1)).slice(-2),
('0' + d.getDate()).slice(-2)
].join('-'),
time = [
('0'+d.getHours()).slice(-2),
(('0'+d.getMinutes()).slice(-2)),
('0'+d.getSeconds()).slice(-2)
].join('');
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: 'target/reports/mobile-app/'+date+'/'+time+'/',
screenshotsFolder: 'images'
})
);
var SpecReporter = require('jasmine-spec-reporter');
jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: 'all'}));
},
};
【问题讨论】:
-
你确定这发生在这个特定的测试中吗?你能提供文件的完整内容和你的量角器配置吗?谢谢!
-
@alecxe 是的,我确定这些测试中正在发生这种情况。它的行为非常奇怪。我还应该补充一点,我正在使用 Appium。因此,该框架也可能存在问题。我会尽快添加我的配置内容。
-
@alecxe 更新了我的问题。
标签: jasmine protractor appium