javascript - Angular E2E 测试让隐藏元素仅在 E2E 期间显示

标签 javascript css angular protractor e2e-testing

目前我正在使用 browser.executeScript 更改隐藏元素以在 E2E 期间显示。

在我的 app.po.ts 中,我有一个函数可以将 display 设置为 inline

    browser.executeScript('arguments[0].style.display = "inline"',getHiddenElements());

默认情况下,隐藏元素有 css display = none 所以它不会在 prod/dev 期间显示。

我的隐藏组件模板:

.hidden{
    display: none;
}

<div class="hidden">
   ...... my hidden elements .......
</div>

问题:隐藏组件中的代码在元素也被隐藏时运行。我不想运行它。目前我正在尝试对组件代码进行条件检查以检查隐藏元素 css display 样式,但我无法使用 Renderer2ElementRef 实现它 获取 css class.hidden

如何确保隐藏元素中的代码仅在 E2E 测试期间运行,而不在开发/生产模式期间运行?无论如何检查 .hidden.display 是 none 还是 in-line 在 hidden.component.ts 中?

最佳答案

尝试一下

browser.executeScript('arguments[0].style.display = "inline-block"',getHiddenElements());

browser.executeScript('arguments[0].style.display = "block"',getHiddenElements());

关于javascript - Angular E2E 测试让隐藏元素仅在 E2E 期间显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505029/

相关文章:

css - 如何居中我的 iFrame 视频(HTML、CSS)

html - 全宽 slider 需要 CSS 解决方案

javascript - Angular 7 错误通知不显示

javascript - 在共享服务器上部署 Angular 渲染的应用程序

angular - primeng 复选框 ngmodel 不是已知属性

javascript - 在 Javascript 中从数据库中检索值

javascript - REST 客户端实用程序

javascript - 取消/中止 angularJs 中的所有未决请求

javascript - ACE Editor 如何将光标移动到行尾?

css - Github 页面代码块离线和在线表现不同