- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试针对 AngularJS (v1.6) 应用程序使用 TestCafe。
我有一个button
然后,当单击时,打开一个模式(从 UI Bootstrap )。当我在 Chrome 中尝试时,效果很好。
<button class="btn" ng-click="open()">Open</button>
我们的应用程序需要用户身份验证,并且登录页面不是基于 Angular。我的测试阶段运行良好。
但是,当实际测试运行时,它“单击”按钮但没有任何反应。
我怀疑,但无法证明,它是在 AngularJS 在页面上正确初始化之前被点击的。
通过一些研究,我发现了 testcafe-angle-selectors 项目和 waitForAngular
方法,但似乎仅适用于 Angular2+。
import { Role, Selector } from 'testcafe';
const regularAccUser = Role('http://127.0.0.1:8080', async t => {
await t
.typeText('[name=username]', 'abc')
.typeText('[name=password]', '123')
.click('.btn-primary');
});
fixture`Characters Modal`;
test('modal title', async t => {
await t
.useRole(regularAccUser)
.navigateTo('http://127.0.0.1:8080/fake/page')
.click('.btn')
.expect(Selector('.modal-title').innerText).eql('Insert Symbol');
});
添加.wait(1000)
之前click
解决了这个问题。它不会等待 Angular 加载。我宁愿没有waits
在每次测试中 - 我可以使用其他一些技术吗?
最佳答案
您可以使用 TestCafe 断言作为一种机制,等待元素准备好后再对其进行操作。
典型的等待机制是:
const button = Selector('button.btn')
.with({visibilityCheck: true});
await t
.expect(button.exists) // wait until component is mounted in DOM
.ok({timeout: 10000}) // wait enough time
.hover(button) // move TestCafe cursor over the component
.expect(button.hasAttribute('disabled'))
.notOk({timeout: 10000}) // wait until the button is enabled
.click(button); // now we are sure the button is there and is clickable
这个article还可以帮助您管理所有这些等待机制。
关于angularjs - 测试失败,因为 AngularJS 没有及时初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54837179/
我正在尝试使用 jsmart渲染Smarty客户端有 3 个模板。如果您没有使用它们的经验,请继续阅读,因为这可能只是我犯的一个简单的 JavaScript 错误。 它适用于简单的模板: 我创建模板(
对于每个 http 请求,ASP .NET 页面是否及时编译(JITting),或者在第一次请求页面时,或者在应用程序启动时编译? 我找不到任何相关资源。 最佳答案 ASP.NET automatic
我正在使用 Pandas 来管理一组具有多个属性的文件: import pandas as pd data = {'Objtype' : ['bias', 'bias', 'flat', 'fla
有没有办法找出单循环动画 GIF 需要多长时间才能完成? 最佳答案 好吧,具体情况取决于您使用什么接口(interface)来操作这些动画 GIF(我不知道原生 Java/AWT/Swing 中真正巧
我有三个相关列:时间、ID 和交互。我如何创建一个新列,其 id 值在给定时间窗口中的“交互”列中为“1”? 应该看起来像这样: time id vec_len quadrant int
我是一名优秀的程序员,十分优秀!