此问题之前已被问过,但我对此有更具体的看法。我有一个<article>
元素,默认情况下样式为visibility:hidden
。我使用伪选择器&:hover
将可见性更改为“可见”。
在我的量角器测试中,我将鼠标移动到文章上,就好像要悬停一样,我断言可见性实际上是可见的,然后我点击文章。
文章似乎永远不会收到点击,我无法为项目的功能编写后续测试。
//用于测试悬停是否有效的代码(这是成功的)
it('the button to launch the action menu should become visible when it is hovered over', function () {
ptor.actions()
.mouseMove(element.all(by.css('article.asset-action')).get(0))
.perform();
var art = element.all(by.css('article.asset-action')).get(0);
art.getCssValue('visibility')
.then(function(val) {
console.log('visibility value is: ' + val);
expect(val).toBe('visible');
});
});
//这不成功,因为点击似乎不会触发
it('clicking the article that brings up the asset action menu should also add a cover div to the DOM', function () {
ptor.actions()
.mouseMove(element.all(by.css('article.asset-action')).get(0))
.perform();
element.all(by.css('article.asset-action')).get(0)
.then(function(art) {
art.click();
});
element(by.css('div.asset-action-pop-cover'))
.then(function(cover) {
expect(browser.isElementPresent(cover)).toBe(true);
});
});
我注意到的另一件事是,如果我使用ptor.sleep暂停测试或在代码中设置断点并切换到Chrome,我可以使用鼠标与其他几个元素进行交互,但我无法点击相关项目鼠标,即使它是可见的。当我正常运行应用程序时,情况并非如此。