自己动手写Web自动化测试框架(4):验证Web控件

发表于:2010-3-25 13:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:colblog.net    来源:51Testing软件测试网采编

  上次我们讲到了如何控制Web控件,有了上次的基础,我们这一次的东西就会比较简单:如何验证Web控。

  我们知道我们测试的目的就是判断被测产品是不是符合要求,如果是手动的测试,就是点到我们要判断的地方,然后用眼睛去判断出现的东西是不是我们想要的。

  而自动化就稍微复杂一点。我们需要解决两大问题:一个是操纵电脑去点击,另一个就是去检查是不是我们想要的结果。我们前面的文章可以解决操纵浏览器进行浏览,而接下来我们讲的就是如何判断是否正确了。

  不考虑性能测试的话,检查点无非有这么几个:

  * 内容是否正确

  * 样式是否正确

  下面我们以实际代码来讲解如何判断。

  首先判断一下样式,我们接着上次的代码,判断一下百度首页的文本框的大小是不是我们想要的(这个代码接着上次的得到keyword控件之后,Submit之前):

//验证

if (keyword.getAttribute("size", 0).ToString().Equals("36"))
  Console.WriteLine("Validation Passed! Size is Correct");

else
  Console.WriteLine("Validation Failed! Size is wrong");

  我们可以看到IHTMLElement有getAttribute方法,这个方法可以得到一个Element里面的Attribute,比如value,type,以及css样式之类的,都可以用这个方法得到,见msdn对这个方法的更详细的讲解。

  我们用下面的代码对百度的搜索结果的内容和标题进行判断:

//验证

if(string.Equals(doc.title.Trim(),"百度搜索_colblog.net"))
  Console.WriteLine("Validation Passed! Title is Corrected");

else
  Console.WriteLine("Validation Failed! Title is wrong");

if (doc.body.innerText.Contains("生生不息"))
  Console.WriteLine("Validation Passed! Body contains your string");
else
  Console.WriteLine("Validation Failed! Body do not contain");

  IE的标题就直接用HtmlDocument的title属性就好,而判断字符就是用到了IHTMLElement的innerText属性,这个属性是我们很常用的属性之一,他会将该Element中显示在IE的字符串返回给我们,另一个相对应的属性就是InnerHtml属性,这个属性会把这个 Element里的所有html代码返回。

  比如说一个简单的Dropdownlist,用InnerText就会返回这个List里面每一项的text,而使用InnerHtml就会返回这个list里面的html代码。

  在这里我们使用innerText来判断是否有我们想要的文字在里面。

  NoticeNotice

  注意:innerText和innerHtml属性,是IHTMLELement的属性,所以我们得到的每一个IHTMLElement都可以拿到这样的属性,并不是只有body才可以。这样我们以后就可以用前面的知识得到想要的IHTMLElement元素,然后再使用InnerHtml和 InnerText来判断内容。

  除了这两个,还有outerHtml和outerText可以使用。

  这次的内容比较简单。下一篇将会提到如何判断IE是否完成了页面读取的问题。


相关链接:

自己动手写Web自动化测试框架(5):判断浏览器是否加载完成

自己动手写Web自动化测试框架(6):自动化测试框架的规划

自己动手写Web自动化测试框架(7):框架架构的设计

自己动手写Web自动化测试框架(3):操纵Web控件

自己动手写Web自动化测试框架(2):打开和操纵IE

自己动手写Web自动化测试框架(1) :概述

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号