selenium访问块元素的样式属性
http://blog.chinaunix.net/u/13637/showart_1332752.html
(最近在用selenium测试,现在要测试一下样式,苦于不知道怎么测,终于找到了一篇文章,先转载过来看下再说,好了留下,不好了删了)
selenium在ui测试中应用很普遍,对简单的website界面墨盒测试使用记录和回放就能满足要求了,但对一些较复杂的操作比较和验证就相对较难些。因为中文资料不多,英文资料也比较抽象。所以使用它来测试要看的东西也很多。
这次主要遇到一个问题,让验证当前选中的div块背景为blue.
?? <div id="app-info-item" name="code">command: verifyExpressiontarget :javascript{ selenium. browserbot. getCurrentWindow( ) . getComputedStyle( this. page( ) . findElement( "xpath=//div[@id='app-info-item']" ) , '' ) . getPropertyValue( 'background-color' ) . toLowerCase( ) }value : #6CA3D1?
sdfasdf
在side中执行这个command,说rgb(108, 163, 209)与#6CA3D1不同,验证失败。驱g上网,发现原来这段javascript代码在firefox中生成的颜色表示是rgb(x,y,z);在ie中是#xxxx形式。使用firefox的colorzilla插件,获取这个颜色的rgb表示。?? <div id="header"></div>
要注意的是,如果在style中使用复合值的话,要分开来取值。
继续上面的例子。
??
?? bases-view.css
??#div#header{
????? background:#578FC0 url(/images/radar-logo.gif) no-repeat scroll 98% center;
?? }
? 我们在selenium中要检验radar-logo.gif,? 或检验#578FC0, 或其他属性,应该怎么写表达式呢?
? 呵呵,要写对应的属性名,
? 如取背景图像url(/images/radar-logo.gif),? 要使用getPropertyValue('background-image')#578FC0,?? 使用
? 要取背景颜色getPropertyValue('background-color')
? 以取图像为例:注意深红色文本,与上面有所不同,我这样试过,可用。
target:
javascript{ selenium. browserbot. getCurrentWindow( ) . getComputedStyle( this . page ( ) . findElement( 'xpath=//div[@id=\'header\']' ) , '' ) . getPropertyValue( 'background-image' ) }??