• WatiN——Web自动化测试(一)


    软件测试行业目前在国内逐渐的发展起来了,但是国内的软件测试行业主要是 黑盒测试也就是我们平常所说的系统测试或功能测试,但真正做到像微软那样的所有测试开发还是很少。

    下面言归正传,讲解一下WatiN

    1、 WatiN是什么?

    WatiN Web Application Testing in .Net,它是在.Net平台喜爱调用IE进行Web 程序测试的开源工具。WatiN的官方网站:http://watin.sourcefoge.net/

    说到Web自动化测试工具,大家可能最熟悉的是QTPLoadRunner。此两者的强大之处我想大家都有耳闻,另外就是利用Ruby语言开发的自动化测试框架WatirWatiNWatir之间有很多相似之处,其最大的区别可能就是语言上的区别。

    2、 WatiN什么用处以及特征?

    1WatiN有什么用处,勿容置疑的是,它可以帮助我们进行Web的自动化测试,是不是我们不需要进行任何操作呢,并不是这样的,WatiN只是提供我们一个框架,要想是WatiN成为我们平时中应用的工具,还必须得开发WatiN相关的自动化工具。

     2WatiN是一种非常容易上手的自动化测试框架,可以帮助我们程序员平时作一些简单的调试和反复工作;WatiN是用C#语言进行开发的,所以我们只要了解C#语言就可以进行WatiN的开发。

    3WatiN类库

     

    其实我们平时应用中主要的是在WatiN.Core下类以及方法。WatiN.Core中包括了我们平时网页中所有的元素我们只需要使用IE8进行查看,利用相应的类方法进行调用即可。

     

    WatiN.Core下的类的展示及关系

     

    由此看来WatiN真的还就不难。

     

    3、 简单的示例展示

    1)示例一

    public static void TestBaiDu1()

            {

                //通过ID

                using (IE ie = new IE("http://www.baidu.com"))

                {

                    ie.TextField("kw").TypeText("谷歌1");

                    ie.Button("su").ClickNoWait();

                    Thread.Sleep(2000);

                    ie.Close();

                }

            }

    IE ie = new IE("http://www.baidu.com") 直接打开百度的网页;

    ie.TextField("kw").TypeText("谷歌1");将文本框进行赋值;

    ie.Button("su").ClickNoWait();点击Button事件;

    ie.Close();ie关闭。

     

    2)实例二

    public static void TestBaiDu2()

            {

                //通过Name

                using (IE ie = new IE("http://www.baidu.com"))

                {

                    ie.TextField(txt => txt.Name == "wd").TypeText("谷歌2");

                    ie.Button(btn => btn.Id == "su").ClickNoWait();

                    Thread.Sleep(2000);

                    ie.Close();

                }

            }

    同样的是打开网页,将文本框的赋值和Button的点击事件通过其他的方法进行查找的。

     

    以上就是WatiN的最基本的认识,希望大家拍砖,后续我将陆续的写上我研究WatiN的文章,将自己的心得分享给大家,在Web测试中将有很多的问题,包括IE的死锁、无法找到的控件等等。

  • 相关阅读:
    Unity3D 学习笔记一
    Java 常用类 -Math
    Java 常用类 -String VS StringBuffer
    Java 日期类 Calendar SimpleDateFormat
    Java 日期类 Calendar
    Java异常处理-自定义异常
    Java异常处理-Exception 和 RuntimeException 区别
    Java异常处理-throws和throw关键字
    Java异常处理-捕获和处理异常
    Java异常处理-异常的概念
  • 原文地址:https://www.cnblogs.com/stonespawn/p/2003643.html
Copyright © 2020-2023  润新知