使用e2e测试确保找到值(例如不是空字符串)的最佳方法是什么,我的示例只是匹配文本本身,我想计算字符串长度并确保它不是0.
describe 'Device Details', ->
device = ionic.Platform.device()
details =
'deviceManufacturer': $('#deviceManufacturer'),
'deviceModel': $('#deviceModel')
it 'Device Manufacturer must not be empty', ->
  expect(details.deviceModel.getText()).toEqual '10'
我一直在使用Bangular(一个优秀的MEAN堆栈Yeoman生成器)来创建一个项目,一切顺利,直到我最近对该项目进行了一系列npm更新.现在我的项目(以及他们的项目)我在运行他们的gulp-protractor任务时遇到错误(过去工作正常).
我已经包含了完整的输出以供参考,如果它有帮助 - 错误是一半的下降(滚动代码框):
Jamess-MacBook-Pro:test jamessherry$ gulp e2e
[10:05:48] Using gulpfile ~/sites/test/gulpfile.js
[10:05:48] Starting 'sass'...
[10:05:48] Finished 'sass' after 30 ms
[10:05:48] Starting 'inject'...
[10:05:48] gulp-inject 7 files into index.html.
[10:05:48] gulp-inject 11 files into index.html.
[10:05:48] Finished 'inject' after 80 ms
[10:05:48] Starting 'watch'...
[10:05:48] Finished 'watch' after 27 ms
[10:05:48] Starting 'nodemon'...
[10:05:48] [nodemon] 1.7.1
[10:05:48] [nodemon] to restart at any time, enter `rs`
[10:05:48] [nodemon] watching: *.*
[10:05:48] [nodemon] starting `node server/server.js`
Express server listening …selenium node.js selenium-webdriver protractor gulp-protractor
我试图用量角器测试Angular单页应用程序.我需要先运行登录脚本.只有这样我才能转移到其他路线,因为localStorage路线更换时会检查令牌.
这种测试方法是否正确?在这种情况下,我需要先运行登录脚本.量角器是否允许控制spec文件顺序.
或者我应该通过硬编码令牌来独立运行每个脚本localStorage(我应该在每次测试之前独立登录api调用).
我的登录脚本包含以下内容
it('Login with wrong email', function() {
})
it('Login with correct email', function() {
})
因此,在运行之后,Login with correct mail我将获得将存储在localStorage中的accessToken,并且我可以继续测试其他路由.这是正确的方法吗?如果不是如何通过端到端登录测试单个应用程序.
在量角器样式指南中,它被称为
使您的测试彼此独立
因此,我应该beforeAll, beforeEach在每次测试之前使用获取访问令牌并存储在localStorage中.在那种情况下,请解释我如何做到这一点.
任何帮助是极大的赞赏.
谢谢.
angularjs angularjs-e2e protractor e2e-testing gulp-protractor
我正在尝试用量角器和茉莉花来完成我的端到端测试.我protractor protractor.config.js直接打电话时效果很好.
但是,当我使用gulp-protractor时,我不断得到"Spec模式与任何文件都不匹配"的错误,并且测试不会运行.
这是我的量角器转轮gulp任务:
gulp.task('protractor-run', function (done) {
    return gulp.src(["./e2e-tests/**/*-spec.js"])
        .pipe(protractor({
            configFile: "./config/protractor-config.js",
            args: ['--baseUrl', 'http://127.0.0.1:8000']
        }))
        .on('error', function(e) { throw e })
});
这是错误:
WARNING - pattern C:\path\to\app\e2e-tests\login\login-spec.js did not math any files.
[launcher] Process exited with error code 1
C:\path\to\app\node_modules\protractor\node_modules\q\q.js:126
                   throw e;
                   ^
Error: Spec patterns did not match any files.
我错过了什么?
我在我的角度项目中进行了量角器测试,当我想运行它时,我会捕获下一个异常日志:
Possibly unhandled RequestError: Error: connect ECONNREFUSED
    at new RequestError (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/lib/errors.js:11:15)
    at Request.RP$callback [as _callback] (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/lib/rp.js:56:32)
    at self.callback (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/node_modules/request/request.js:198:22)
    at Request.emit (events.js:95:17)
    at Request.onRequestError (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/node_modules/request/request.js:820:8)
    at ClientRequest.emit (events.js:95:17)
    at CleartextStream.socketErrorListener (http.js:1548:9)
    at CleartextStream.emit (events.js:95:17)
    at Socket.onerror (tls.js:1456:17)
    at Socket.emit (events.js:117:20)
    at net.js:441:14
    at process._tickCallback (node.js:448:13)
Possibly unhandled RequestError: Error: connect ECONNREFUSED
    at new RequestError (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/lib/errors.js:11:15)
    at Request.RP$callback [as _callback] (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/lib/rp.js:56:32)
    at self.callback (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/node_modules/request/request.js:198:22)
    at Request.emit (events.js:95:17)
    at Request.onRequestError (/home/tk/WorkSpaceNew/dashboard/frontend/node_modules/request-promise/node_modules/request/request.js:820:8)
    at ClientRequest.emit (events.js:95:17)
    at CleartextStream.socketErrorListener (http.js:1548:9)
    at CleartextStream.emit (events.js:95:17)
    at Socket.onerror …我在很多这样的例子中看到过$('.selector'),我也在使用它.那么这个$变量做了什么.这是我从量角器文档中得到的.
可以将对$的调用链接起来查找父项中的元素.
文档中没有$单独使用的示例.我们使用$到链element选择.
另外$('.selector')本身就是一个元素,我们做到这一点的时候element($('.selector')),这是一个错误.
那么如何$在量角器中使用这个选择器.它具有的所有功能吗JQuery $?我试过$('.selector').children说哪个children不是功能.
任何帮助是极大的赞赏.
谢谢!
我一次运行多个测试服。目前我正在对数据进行硬编码以进行测试
例子
element(by.name('email')).sendKeys(xxxxxx)
element(by.name('password')).sendKeys('password')
此电子邮件字段具有唯一键约束,因此每次运行测试时,我都必须手动更改此值。有很多这样的领域我需要改变,而且我很难手动完成。这在量角器 e2e 测试中通常是如何处理的。?
是否有任何可靠的第三方库或量角器中的任何选项来生成用于测试的模拟数据。所以每次它都会随机生成,就像我可以从库中获取姓名、有效的电子邮件字符串、电话号码、其他有意义的字符串等。
我正在使用带有 jasmine 的量角器对有角度的单页应用程序进行 e2e 测试。
任何帮助是极大的赞赏。
谢谢!
我已经看到很多用于获取已存储数据的示例,但没有获取任何获取存储值的示例.
protractor ×8
angularjs ×6
javascript ×2
e2e-testing ×1
gulp ×1
jasmine ×1
linux ×1
node.js ×1
selenium ×1
testing ×1