我有一个带有输入框和用户界面选择下拉列表的表单,在ng-blur事件中,我调用了一个方法来自动选择所有三个用户界面选择中的选项。当我使用量角器e2e测试执行此操作时,它不会等待用户界面选择发生并提交表单,这会引发异常,因为它没有找到只有在提交包含所有必需字段的表单后才会出现的元素。我试过这样browser.wait
browser.wait(()=>{
expect(element(by.model('cntrl.selectOne')) ).toEqual('OneFirst');
expect(element(by.model('cntrl.selectTwo')) ).toEqual('TwoFirst');
},2000)
它正在抛出异常。
我做了一个辅助函数,像这样
this.waitForTimeouts = function(el, time) {
browser.wait(function() {
return element(by.css(el)).isPresent();
}, time);
};
和
e = '.md-active.md-clickable';
this.waitForTimeouts(e, 3000);
这似乎对我有用。(非常接近你写的内容,但你没有返回元素。
此外,更简单的形式是:
browser.wait(function() {
return element(by.css('.md-active.md-clickable')).isPresent();
}, 3000);
您正在触发ng-blur事件吗?您可以尝试单击文本框,然后单击其他地方。或者您可以尝试
在等待中,如果您知道自己在等待什么,请使用presenceOf
var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be present on the dom.
browser.wait(EC.presenceOf($('#abc')), 5000);
我是新的量角器,我正在执行一些e2e测试,我在最后一个问题,当我试图调用下拉列表并选择其中一个选项时。 这是我的代码: 我每次得到的是: 这个错误怎么可能? 提前感谢您的帮助。
我正在尝试让我的量角器端到端测试与下拉菜单进行交互。 在我测试的页面中,我们有一个国家下拉列表。下拉列表包含4个可选选项“?”其中空白,然后是美国、英国和加拿大。 我显然没有在我的PO文件中正确调用元素,因为参数化不起作用。测试“通过”,但是当您观察正在驱动的内容时,选择的国家/地区是“?”(这是默认的)。因此,测试是导航到页面,选择元素,而不是实际单击我想要的选项。 据我所知,我需要以某种方式获
我是量角器的新手,在这里我尝试测试量角器的angularjs日期选择器。 我试图找到一种方法来做到这一点,而这篇文章是我唯一找到的东西,使用起来不太清楚 如果有人知道如何测试,请帮忙。 我需要的是选择今天的日期。 提前感谢:) < li >编辑- alecxe,这是我的日期选择器的屏幕截图。很抱歉,无法提供页面的链接。:(
问题内容: 我正在使用Selenium Protractor,希望从以下列表中选择所有元素,但其中一个包含文本“ Cat”,然后对其余元素执行一些操作。 是否有cssContainingText(或其他一些选择器)提供的选择器,我可以在其中提供条件以选择除包含文本“ Cat”的元素以外的所有元素? 问题答案: 您可以使用以下定位器策略创建一个 列表, 选择除包含文本 Cat 的元素以外的所有其他元
问题内容: 我编写了量角器自动化测试并遇到了问题。Wait命令实际上并不等待数组元素之一。请参阅以下示例:导航到网页后,我尝试等待第一个元素。 但是测试失败,并显示以下错误:。 错误与定位器类型无关,因为它同时出现在:“ by.repeater”和“ by.css”上。选择器还可以,添加“ sleep”命令后测试通过: 另外,timeout参数也无济于事,它会忽略它并立即失败。 那么问题是如何等待
问题内容: 我在使用量角器时遇到了一些麻烦。我有一个非常奇怪的ui- router状态,很难摆脱其他元素来开始使用该页面。有没有办法告诉量角器等到元素最终出现在DOM中?不可见/未显示,但实际上已创建?我一直尝试使用等待元素,但是显然无法选择它。 问题答案: 您应该能够与ExpectedCondition一起使用: