如何为特定的XHTML标记/属性生成报告?

时间:2010-04-03 06:10:46

标签: testing xhtml selenium accessibility automated-tests

我想检查整个网站的<img>图片的alt文字。我希望得到一份报告:alt文字或alt中的内容是否定义在每个页面的整个网站上使用的所有图片中。

是否可以获得这样的报告?获得报告后,我会将altalt添加为空白,然后写入说明文字。

否则,在一个大型网站上,需要花费大量时间去检查每一页。

网站位于Intranet上,可通过用户名和密码访问。

3 个答案:

答案 0 :(得分:0)

这不是一个直接的答案,但是因为看起来你的动机就是知道哪些img元素没有alt属性,所以我想补充一点 all img元素需要alt属性。

HTML5 spec提及哪些img元素应具有alt属性:

  

img元素代表什么取决于src属性和alt属性。

     
    

如果设置了src属性并且alt属性设置为空字符串

         
      
          
  • 图像可以是装饰性的,也可以是其他内容的补充,与文档中的其他信息一样多余。
  •       
  • 如果图像可用且用户代理配置为显示该图像,则该元素表示由src属性指定的图像。
  •       
  • 否则,元素表示什么,可以从渲染中完全省略。用户代理可以向用户提供图像存在但已从渲染中省略的通知。
  •       
    
         

如果设置了src属性并且alt属性设置为非空值

         
      
          
  • 图像是内容的关键部分; alt属性为图像提供文本等效或替换。
  •       
  • 如果图像可用且用户代理配置为显示该图像,则该元素表示由src属性指定的图像。
  •       
  • 否则,元素表示alt属性给出的文本。用户代理可以向用户提供图像存在但已从渲染中省略的通知。
  •       
    
         

如果设置了src属性且alt属性不是

         
      
          
  • 图像可能是内容的关键部分,并且没有可用图像的文本等效项。
  •       
  • 注意:在符合要求的文档中,缺少alt属性表示图像是内容的关键部分,但在生成图像时图像的文本替换不可用。
  •       
  • 如果图像可用,则元素表示由src属性指定的图像。
  •       
    
         

如果未设置src属性且alt属性设置为空字符串或alt属性未设置

         
      
          
  • 元素代表什么。
  •       
    
         

否则

         
      
          
  • 元素表示alt属性给出的文本。
  •       
    
  

答案 1 :(得分:0)

如果你想用Selenium做这件事,那就是这样的

Dictionary<string,string> details = new Dictionary<string,string>();
int imgcount = selenium.GetXpathCount("//img");
for (i=0;i<10;i++){
  details.add(selenium.GetAttribute("//img[i]@src"),selenium.GetAttribute("//img[i]@alt"));
}

foreach (KeyValuePair<string, string> kvp in details)
{
   Console.WriteLine("key " + kvp.Key);
   Console.WriteLine("Value " + kvp.Value);
}

这将打印图像的src及其ALT文本。

答案 2 :(得分:0)

使用TestPlan我提出了这个快速脚本:

GotoURL http://stackoverflow.com/questions/2570421/how-to-generate-a-report-for-particular-xhtml-tag-attributes

foreach %Image% in (response //img)
    set %src% as combineCurrentURL (selectIn %Image% @src)
    set %alt% as trim (selectIn %Image% @alt)

    if numComp 0 = (length %alt%)
        Notice %src% ALT IS EMPTY
    else
        Notice %src% : %alt%
    end
end

输出如下所示(如果需要,也可以生成CSV报告)

00000001-00 NOTICE http://sstatic.net/so/img/logo.png : Stack Overflow
00000002-00 NOTICE http://ads.stackoverflow.com/ads/ladywhobig.jpg ALT IS EMPTY
00000003-00 NOTICE http://sstatic.net/so/img/vote-arrow-up.png : vote up
00000004-00 NOTICE http://sstatic.net/so/img/vote-arrow-down.png : vote down

这适用于HTMLUnit和Selenium后端到TestPlan。