首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 2 e2e测试

Angular 2 e2e测试
EN

Stack Overflow用户
提问于 2017-06-10 22:14:36
回答 2查看 352关注 0票数 0

我刚刚开始对Angular 2和e2e进行测试,我正在尝试通过使用量角器在空白区域中单击来关闭Bootstrap4模式。我试过了:

代码语言:javascript
复制
it('should close the login modal when the blank space outside of the modal is clicked', () => {
  element(by.tagName('body')).click().then(function() {
    browser.sleep(250);
    expect(element(by.id('myModal')).isDisplayed()).toBeFalsy();
  });
});

...and我甚至尝试过:

代码语言:javascript
复制
it('should close the login modal when the blank space outside of the modal is clicked', () => {
  browser.actions()
  .mouseMove(element(by.id('login_modal')), -20, -20)
  .click().then(function() {
    browser.sleep(250);
    expect(element(by.id('login_modal')).isDisplayed()).toBeFalsy();
  });
});

我是Angular 2世界的新手,所以答案可能很明显。提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-06-11 23:33:09

我还没有看到你的HTML,但我想这会发生的。元素上的click-action将在元素的中心执行一次单击,请参见actions docs

这取决于您的模式在页面上的位置,但在常见情况下,模式位于页面的中心。如果我们使用该命令,并执行上面描述的第一个单击命令,我们将得到以下结果

点击“

  • ”就可以了,在车身上点击它的全屏,点击车身的中心位置就会显示body => 不会被closed

模式。

您描述的第二个单击命令会失败,因为您需要提供一个对象,请参阅here,因此它需要

代码语言:javascript
复制
browser.actions()
  .mouseMove(element(by.id('login_modal')), {
    x: toRight,
    y: toBottom
  })
  .click().then(function() {
    browser.sleep(250);
    expect(element(by.id('login_modal')).isDisplayed()).toBeFalsy();
  });

票数 0
EN

Stack Overflow用户

发布于 2017-06-16 21:43:41

感谢你的反馈,这让我找到了答案。我应该发布这是一个bootstrap模式,这是相关的。当被调用时,模式会覆盖整个页面,而不仅仅是中间的矩形。通过将我的坐标设置为x:0,y:0,我在模式的“空白”区域。

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

https://stackoverflow.com/questions/44474318

复制
相关文章

相似问题

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