在量角器上指定了无效或非法的选择器错误 angularjs
an invalid or illegal selector was specified error on protractor angularjs
所以我一直在使用量角器作为我的 e2e 测试 angularjs 组件,我一直面临这个问题..
所以我有一个像这样的 html 标记
<div class="item">
<div class="item-grid">grid A</div>
<div class="item-actions">
<input type="image" class="item-action-image" title="info" src="images/icons/system-info.png">
<input type="image" class="item-action-image" title="event" src="images/icons/system-event.png">
</div>
</div>
<div class="item">
<div class="item-grid">grid B</div>
<div class="item-actions">
<input type="image" class="item-action-image" title="info" src="images/icons/system-info.png">
<input type="image" class="item-action-image" title="event" src="images/icons/system-event.png">
</div>
</div>
假设如果点击上面输入的其中一张图片,将会出现一个信息模式来显示信息。
所以我想在量角器上创建一个场景来模拟那些..
场景是
it("should've display grid information datas", function() {
element(by.css(".item:eq(0) > .item-actions > input[title='info']")).click();
browser.waitForAngular();
});
上面代码的逻辑解释是量角器会 select 第一个 '.item'
元素然后单击它里面的 'input[title="info"]'
对吗?
但我得到了这个错误
InvalidSelectorError: The given selector .item:eq(0) > .item-actions > input[title='info'] is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: An invalid or illegal selector was specified
因此,自从我刚开始使用量角器以来,我一直被卡住了。有没有人可以帮助我解决这个问题?
您可以链接 ElementFinder。例如:
$$('.item')
.get(1)
.$('input[title=info]')
.click();
或者
element.all(by.css('.item'))
.get(1)
.element(by.css('input[title=info]')
.click();
注意 $$('.abc')
与 element.all(by.css('.abc'))
相同,$('.abc')
与 element(by.css('.abc'))
相同
所以我一直在使用量角器作为我的 e2e 测试 angularjs 组件,我一直面临这个问题..
所以我有一个像这样的 html 标记
<div class="item">
<div class="item-grid">grid A</div>
<div class="item-actions">
<input type="image" class="item-action-image" title="info" src="images/icons/system-info.png">
<input type="image" class="item-action-image" title="event" src="images/icons/system-event.png">
</div>
</div>
<div class="item">
<div class="item-grid">grid B</div>
<div class="item-actions">
<input type="image" class="item-action-image" title="info" src="images/icons/system-info.png">
<input type="image" class="item-action-image" title="event" src="images/icons/system-event.png">
</div>
</div>
假设如果点击上面输入的其中一张图片,将会出现一个信息模式来显示信息。
所以我想在量角器上创建一个场景来模拟那些..
场景是
it("should've display grid information datas", function() {
element(by.css(".item:eq(0) > .item-actions > input[title='info']")).click();
browser.waitForAngular();
});
上面代码的逻辑解释是量角器会 select 第一个 '.item'
元素然后单击它里面的 'input[title="info"]'
对吗?
但我得到了这个错误
InvalidSelectorError: The given selector .item:eq(0) > .item-actions > input[title='info'] is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: An invalid or illegal selector was specified
因此,自从我刚开始使用量角器以来,我一直被卡住了。有没有人可以帮助我解决这个问题?
您可以链接 ElementFinder。例如:
$$('.item')
.get(1)
.$('input[title=info]')
.click();
或者
element.all(by.css('.item'))
.get(1)
.element(by.css('input[title=info]')
.click();
注意 $$('.abc')
与 element.all(by.css('.abc'))
相同,$('.abc')
与 element(by.css('.abc'))