首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎样才能从量角器测试中提出邮寄请求?

我怎样才能从量角器测试中提出邮寄请求?
EN

Stack Overflow用户
提问于 2014-02-10 22:18:30
回答 4查看 18.2K关注 0票数 14

我想在运行量角器测试之前向数据库服务器发出POST请求(带有JSON有效负载),以便注入测试数据。如果可能的话,我该怎么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-15 22:09:05

我找到了一种方法,在Andres的帮助下,它的要点是通过browser.executeAsyncScript在浏览器中运行一个脚本,并在其中注入$http服务。然后通知$http服务发出POST请求。下面是关于它是如何完成的示例CoffeeScript:

代码语言:javascript
运行
复制
browser.get('http://your-angular-app.com')
browser.executeAsyncScript((callback) ->
  $http = angular.injector(["ng"]).get("$http")
  $http(
    url: "http://yourservice.com"
    method: "post"
    data: yourData
    dataType: "json"
  )
  .success(->
    callback([true])
  ).error((data, status) ->
    callback([false, data, status])
  )
)
.then((data) ->
  [success, response] = data
  if success
    console.log("Browser async finished without errors")
  else
    console.log("Browser async finished with errors", response)
)
票数 5
EN

Stack Overflow用户

发布于 2014-05-20 10:37:18

如果您只想填充数据库,可以使用另一个库来运行POST请求。

例如,您可以在超剂中使用beforeEach,如下所示:

代码语言:javascript
运行
复制
var request = require( "superagent" );

describe( "Something", function() {

  beforeEach( function( done ) {
    request
      .post( "http://localhost/api/foo" )
      .send( {data : "something"} )
      .end( done );
  } );

} );
票数 6
EN

Stack Overflow用户

发布于 2014-02-11 16:51:46

可以在量角器配置的onPrepare函数中运行一些异步设置代码。您需要显式告诉量角器等待您的请求完成。这可以用flow.await()来完成,它对承诺很好。

代码语言:javascript
运行
复制
onPrepare: function() {

  flow = protractor.promise.controlFlow()

  flow.await(setup_data({data: 'test'})).then( function(result) {
    console.log(result);
  })

}

**当量角器1.1.0上的准备可以返回一个承诺,所以使用flow明确等待承诺解决是不必要的。

请参阅:https://github.com/angular/protractor/blob/master/CHANGELOG.md

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21689089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档