zoukankan      html  css  js  c++  java
  • 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的死锁、无法找到的控件等等。

  • 相关阅读:
    python学习之路-10 网络编程之进阶
    python学习之路-9 socket网络编程
    使用cx_Freeze 将python3代码打包成.exe程序
    如何在已经存在python2的linux环境上安装python3
    python学习之路-8 面向对象之进阶
    python学习之路-7 模块configparser/xml/shutil/subprocess以及面向对象初级入门
    java mybatis XML文件中大于号小于号转义
    java dom4j写入XML
    notepad++ 行末尾添加指定字符
    JQ 动态加载多选框--随记
  • 原文地址:https://www.cnblogs.com/stonespawn/p/2003643.html
Copyright © 2011-2022 走看看