Javascript 视图不';我模拟后端时无法加载

Javascript 视图不';我模拟后端时无法加载,javascript,angularjs,testing,jasmine,protractor,Javascript,Angularjs,Testing,Jasmine,Protractor,我正在尝试测试用户界面的一个特定元素。为此,我需要向后端发送特定请求,以使用预定义数据进行响应,但所有其他请求都应该通过。我是这样做的(喝咖啡更容易阅读): 因此,基本上我在这里要做的是在我的应用程序模块fmAppApp和angularngMockE2E的基础上创建新模块,并告诉量角器 为了完整起见,我将在descripe块中显示一条简单语句: it 'should allow user to type in anything', ()-> browser.get 'http://

我正在尝试测试用户界面的一个特定元素。为此,我需要向后端发送特定请求,以使用预定义数据进行响应,但所有其他请求都应该通过。我是这样做的(喝咖啡更容易阅读):

因此,基本上我在这里要做的是在我的应用程序模块
fmAppApp
和angular
ngMockE2E
的基础上创建新模块,并告诉量角器

为了完整起见,我将在
descripe
块中显示一条简单语句:

it 'should allow user to type in anything', ()->
    browser.get 'http://localhost:9000/#/'
    element By.model 'category.selected'
        .click()
    input = element By.css '.ui-select-search'
    input.sendKeys 'newtestcategory'
    expect input.getAttribute('value')
        .toBe 'newtestcategory'
当我运行grunt量角器时,它会打开浏览器,导航到指定的url(
http://localhost:9000/#/
)然后我看到空白页和规范失败,并出现以下错误:
NoSuchElementError:使用locator:by.model(“category.selected”)找不到元素

不幸的是,由于明显的原因,我无法打开firebug并查看出了什么问题,所以我只收到了这条消息。我想我可以通过某种方式从浏览器控制台重定向日志,看看这里的邪恶根源是什么,但我不知道如何。也许有人也遇到过这种情况,并且知道它可能是什么? 更新: 我按照Cétia的建议做了,我在日志中得到了这条信息:

消息:'http://localhost:9000/bower_components/angular/angular.js 11607:24错误:意外请求:POST/api/login


为什么呢?我是否应该将“api/login”添加到passThrough()?

为了确保已加载模拟,您可以在内部添加
控制台.log
,并在量角器测试中添加:

browser.manage().logs().get('browser').then(function(browserLog) {
    console.log('log: ' + require('util').inspect(browserLog));
});

为了在量角器控制台中输出浏览器日志(在
浏览器.get之后)。

我似乎没有提供足够的信息。我遗漏了一些我认为不相关的代码,目的是不压倒你们,但事实证明这是一个绊脚石

browser.get 'http://localhost:9000/#/'
element By.model 'email'
  .sendKeys 'dima@mail'
element By.model 'password'
  .sendKeys '123456'
element By.cssContainingText 'form[name=login] button', 'Войти'
  .click()
这段代码负责用户登录,我需要它,因为未经授权的用户不允许看到我想要测试的视图。 我想我确保所有的请求都通过了,但是我当然忘记了我的登录请求是一个POST请求。所以问题就简单地通过添加

$httpBackend.whenPOST /.*/
      .passThrough()

这有用吗?这真的是一个关于如何诊断问题的答案或评论/提示吗?虽然这不是对我问题的直接回答,但如果没有它,我将无法了解真相,所以谢谢你。
$httpBackend.whenPOST /.*/
      .passThrough()