如何访问;“隐藏的”;使用javascript和量角器设置attrabute的样式
我有一个搜索网页。如果使用特殊字符等数据搜索无效,则会显示警告消息 当页面加载时,CSS加载如下:如何访问;“隐藏的”;使用javascript和量角器设置attrabute的样式,javascript,html,css,automation,protractor,Javascript,Html,Css,Automation,Protractor,我有一个搜索网页。如果使用特殊字符等数据搜索无效,则会显示警告消息 当页面加载时,CSS加载如下: 当您输入无效文本并按search时,上述更改将显示为 显示:块;不透明度: 这也会出现一个带有错误消息的 我尝试了以下var styleValue=element(by.id('ideliveryareaerror')).getCssValue('style')
当您输入无效文本并按search时,上述更改将显示为
显示:块;不透明度:代码>
这也会出现一个带有错误消息的
我尝试了以下var styleValue=element(by.id('ideliveryareaerror')).getCssValue('style')但是我得到了元素的树结构
我的代码示例:
var styleValue = element(by.id('isearchError')).getCssValue('style');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
browser.sleep(1000);
console.log(styleValue);
browser.sleep(1000);
我想做的是:
- 获取样式属性值(应为无)
- 按enter键输入无效数据
- 获取样式属性值(应为块)
- 获取错误消息文本
我的代码的图像:
您使用的是getCssValue('style')
,但您需要getCssValue('display')
。获取CSS值,而不是HTML属性。(我不使用量角器,但方法名称和您要求的内容突然出现在我眼前。:-)
比如:
var searchError = element(by.id('isearchError'));
expect(searchError.getCssValue('display')).toBe('none');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
browser.sleep(1000);
expect(searchError.getCssValue('display')).toBe(''); // Or possibly 'block' or one of the others
console.log(styleValue);
browser.sleep(1000);
您是否尝试过量角器提供的isDisplayed
方法?
如果您希望显示/不显示元素,可以如下所示:
expect(element(by.id('ideliveryareaerror')).isDisplayed()).toBe(true); // (or false)
var styleValue = element(by.id('isearchError')).getCssValue('style')
.then( function(style) {
console.log(style);
});
此外,您将获得元素的树结构,因为getCssValue
是一个需要解决的承诺,这就是为什么它可能无法与普通console.log一起工作的原因
在这种情况下,您需要这样做:
expect(element(by.id('ideliveryareaerror')).isDisplayed()).toBe(true); // (or false)
var styleValue = element(by.id('isearchError')).getCssValue('style')
.then( function(style) {
console.log(style);
});