Lassewang的成长历程

记录Lassewang职业生涯中的点点滴滴

自己动手写Web自动化测试框架(4):验证Web控件
上次我们讲到了如何控制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自动化测试框架(4):验证Web控件

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭