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

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

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

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

1、 WatiN是什么?

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

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

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

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

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

(3)WatiN类库

 

其实我们平时应用中主要的是在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的死锁、无法找到的控件等等。

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:gitlab创建组,创建用户,创建项目

创建组和项目 让后可以在组里创建一个个仓库 创建成员 我创建个成员再把他分配进这个组里 进入管理员 密码等会我们创建完用户再去配置密码 Regular是普通的用户,只可以正常去访问指定规则的项目 而下面的administrator就是管理员,可以随便进项目&…

基于springboot+vue的B2B平台的购物推荐网站(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

基于Web的网文管理系统

项目:基于Web的网文管理系统 伴随着时代的更替,我国人民的生活水平在不断提高,同时对生活娱乐的需求也在不断加大,我们在日常生活中通常会以多种方式娱乐自己,而阅读网络小说就是其中一种方式。随着计算机技术的成熟&a…

外包实在是太坑了,划水三年,感觉人都废了

先说一下自己的情况,专科生,19年通过校招进入杭州某个外包软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了3年的功…

数据结构第3章 串

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 本篇笔记整理:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 0、思维导图1、基本概念1)主…

vue3 element-plus 省市区选择器组件封装

文章目录 前言一、省市区数据源处理二、AreaSelect省市区选择器组件封装三 、页面使用 前言 vue3封装一个省市区选择器组件,通过element-plus Cascader 级联选择器实现,效果如下: 一、省市区数据源处理 data.js var areaList {province_…

Unity NavMesh 清除不可行走区域

通常场景中物体设置为static或Navigation Static后,打开Navigation使用默认设置烘焙NavMesh,模型顶部和底部会出现蓝色网格,但其中有部分属于不可能到达区域,如下图 本文介绍两种可去掉NavMesh中不需要网格的方法: 方…

idm下载路径在哪 idm下载保存路径怎么设置 IDM下载器 internetdownloadmanager官方版下载 网络加速器

春节(Spring Festival),是中国最隆重最富有特色的传统节日之一。春节期间我们与一家人团聚在一起,其乐融融。2024年春晚已经接近尾声了,很多人已经踏上了返程的路上。在部分地区,如春晚直播过程中或者网络高…

Java学习小记——设计模式

设计模式 设计模式简介Singleton模式Singleton模式简介Singleton的创建双重锁模式Double checked locking作为Java类的静态变量 变继承关系为组合关系组合模式装饰器模式 如何创建对象抽象工厂模式 设计模式简介 设计模式(Design pattern)代表了最佳的实…

css实现梯形

<div class"trapezoid"></div> .trapezoid {width: 200px;height: 0;border-bottom: 100px solid red; /* 定义梯形的底边 */border-left: 50px solid transparent; /* 定义梯形的左边 */border-right: 50px solid transparent; /* 定义梯形的右边 */} …

初识AXI总线

AXI是一种总线类型&#xff0c;具有高传输速率&#xff0c;高带宽&#xff0c;低时延等特性 AXI具有三种类型&#xff1a; 1.AXI_FULL:满足高性能内存映射&#xff08;memory-mapped&#xff09;需求 2.AXI_lite:不可突发传输 3.AXI_stream:面向数据流的传输 AXI的工作方式&a…

连续字母长度 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定一个字符串&#xff0c;只包含大写字母&#xff0c;求在包含同一字母的子串中&#xff0c;长度第 k 长的子串的长度&#xff0c;相同字母只取最长的那个子串。…

【C++】初始化列表、static成员、友元、匿名对象、附练习题

文章目录 前言一、构造函数【初始化列表】1.1 构造函数体赋值1.2 初始化列表1.3 explicit关键字 二、static成员2.1 概念2.2 特性 三、友元3.1 友元函数3.2 内部类 四、匿名对象4.1 拷贝对象时的一些编译器优化 五、再次理解类和对象六、练习题6.1 求123...n&#xff0c;要求不…

Apipost多host服务配置如何使用

最近Apipost新增同环境下多host服务的配置功能&#xff0c;本篇文章带来该功能的使用场景及使用方法。 配置方法&#xff1a; 点击右上角眼睛标识进入环境管理 点击添加服务&#xff0c;输入服务名和URL 配置完成后需要在接口目录中选择该目录下需要使用的host服务&#xff0…

搭建SVN服务端和客户端

参考博客&#xff1a; https://zhuanlan.zhihu.com/p/428552058 先下载这两个文件&#xff1a; 链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1_1v_jKm3h7ZDSYEsgYyovA?pwd11ku 提取码&#xff1a;11ku –来自百度网盘超级会员V5的分享 第一个压缩包里有客户端…

[AIGC] JVM内存结构

JVM内存结构 Java虚拟机&#xff08;JVM&#xff09;内存结构是Java内存管理的基础&#xff0c;并且与JVM的运行机制紧密相关。下面是一个JVM内存结构的示意图&#xff1a; JVM内存主要包括以下几个部分&#xff1a; 方法区&#xff08;Method Area&#xff09; 方法区也被称…

计算机网络-广域通信网

1.广域网概念和分类 什么是广域网&#xff1f; 广域网是指长距离跨地区的各种局域网、计算机、终端互联在一起&#xff0c;组成一个资源共享的通信网络。 广域网分为传统广域网和现代广域网。 传 统 广 域 网公共交换电话网PSTN公共数据网X.25帧中继网FR综合业务数据网ISDN…

docker容器常见操作

目录 一、认识容器 1.1、docker用到的内核技术 1.2、namespace 1.3、Control Group 1.4、LXC与docker区别 二、docker环境准备 2.1、安装docker 2.2、docker daemon环境管理 三、镜像、容器和仓库 3.1、镜像常见操作 3.2、配置镜像加速器 命名空间 3.3、非官方镜像仓…

绩效域-错题笔记

1、虚荣指标&#xff1a;对决策没有帮助的度量指标一般属于虚荣指标。 例如&#xff1a;新访问者的数量比网站的页面访问量更加有用。 2、完工偏差(VAC)用于预测预算赤字或盈余金额&#xff0c;它表示为完工预算(BAC)和完工估算(EAC)之差。 3、完工尚需绩效指数(TCPI)用于估…

【服务器】服务器推荐

一、引言 在数字世界的浪潮中&#xff0c;服务器作为数据存储和处理的基石&#xff0c;其重要性不言而喻。而在这个繁星点点的市场中&#xff0c;雨云以其独特的优势和超高的性价比&#xff0c;逐渐成为众多企业和个人的首选。今天&#xff0c;就让我带你走进雨云的世界&#…