|
下面是我写的一个获取当前页面某个元素CSS样式表里面某个属性值的扩展命令;
但是在ItemVlaue = window.getComputedStyle(element,null).cssItem;这一步出错了。。。
找了些资料,看不出问题在哪;求达人指导。。。。。。。。。
PS:暂时这个命令还没有做XPATH、浏览器处理;
- // JavaScript Document
- /*
- 获取当前页面一个元素的CSS样式对应属性;
- 参数:css的对应id
- */
- //根据元素选择器获取元素的某个样式属性值
- function getCssAttribute (/*id*/ Selector,/*CSS属性字段*/ cssItem){
- var ItemVlaue,element;
- element = document.getElementById(Selector);
- alert(2);
- /*这个方法只能获取HTML中的style属性,不能获取样式表中的属性ItemVlaue = element.style.cssItem.value;
- */
-
-
- //需要使用getComputedStyle(不支持IE) 和currentStyle(仅IE)来使用...据说这俩都不准。。。推荐用JQ
- //先用getComputedStyle试水
- ItemVlaue = window.getComputedStyle(element,null).cssItem;
- return ItemVlaue;
- }
- //验证一个元素的某个CSS属性的值
- Selenium.prototype.assertCssItem = function(/*id*/ Selector,/*CSS属性字段*/ cssItemAndValue){
- var CSSItem,Item,location,actualItemValue,expectedItemValue ;
- //分解传进来的参数:将cssItemAndValue分解成属性和值;使用分号来分割;第一个为属性名,第二个为要验证的属性值
- CSSItem = cssItemAndValue.split(":");
- //alert(CSSItem);
- Item = CSSItem[0];
- expectedItemValue = CSSItem[1];
- alert(Selector);
-
- location = Selector;
- alert(1);
- /* 根据属性名获取当前的值 */
- actualItemValue = getCssAttribute(location,Item);
- alert(actualItemValue);
- alert(3);
- //进行比较
- Assert.matches(expectedValue, actualValue);
-
- }
复制代码 |
|