返回

南京达内教育

.net开发Web自动化测试工具

数据库学习网更新时间:2021-10-07 浏览:171

前不久,因为检测*须,应用C#融合WatiN部件,开发设计了一个小小web自动化技术检测工具。

WatiN 是一个比较简单灵便的检测架构,能够仿真模拟客户在手机客户端电脑浏览器中的绝大部分实际操作,API也非常简单。

一、完成url启用和web控制的操纵非常简单,参照下边编码:

请 for (int i = 0; i < txtUrls.Length; i )

{

try

{

WatiN.Core.DialogHandlers.AlertDialogHandler dh = new WatiN.Core.DialogHandlers.AlertDialogHandler();

using (IE ie = new IE(txtUrls[i])) //启用URL,txtUrls[i]为Url详细地址

{

ie.AddDialogHandler(dh);//提升一个操纵返回值

ie.CheckBox("cblSets_6").Checked = false;

ie.CheckBox("cblSets_8").Checked = true;

ie.Button("btnSave").ClickNoWait(); //实行储存

ie.RemoveDialogHandler(dh);

ie.Close();

}

}

catch (Exception e)

{

sb.Append("Execute Err:").Append(txtUrls[i]).Append(";");

}

}

二、WatiN 里常见的类

WatiN.Core.Find

最广泛应用的类便是Find类的,它是一个加工厂类,关键应用它的静态方法来完成一些查询条件。例如像上边的事例中的这一句子“ie.Button(Find.ByName("btnG")).Click();”就启用了Find的静态方法 ByName来查看一个name特性为特定值的HTML原素,随后再启用IE目标的Button方式 把这个原素变换为按键目标。

WatiN.Core.IE

这应该是最重要的类了。他常见的方式 是和特性为

特性

HtmlDialogs 回到当今目标用JavaScript开启的方式对话框(需然帮助文件上说非方式对话框也包含以内,但在使用中发觉用window.open开启的对话框沒有被)

Frames 回到当今的象里的全部Frames

方式

静态方法 AttachToIE 与一个早已找开的IE关联。

Button,TextField,Image,Div 等一系列方式 。与Find目标一同应用用以回到IE中特殊的按键,文本框,等HTML原素

三、运用中的一些方法

1、如何去捕捉一个新弹出来的对话框。

情况:有一些连接是以一个新弹出来的对话框中开启的,我假如关联上这种类的对话框。

public void Login(string uid, string passwd)

{

string url = Host "frmlogon.aspx";

ie = new IE();

ie.GoTo(url);

ie.WaitForComplete();

ie.TextField(Find.ById("txtUserName")).Value = uid;

ie.TextField(Find.ById("txtPwd")).Value = passwd;

ie.Button(Find.ById("btnLogin")).ClickNoWait();//这一方式 改为那样,那点一下后就不容易等编码IE完成了。

//下边这句话便是解决登录的方法所属,系统软件打开了另一个对话框。

//下边这句话便是用正则表达式捕捉这一对话框。

ie = IE.AttachToIE(Find.ByTitle(new WatiN.Core.Comparers.RegexComparer(new System.Text.RegularExpressions.Regex(".*功能测试.*"))));

ie.WaitForComplete();

MainFrame. = ie.Frame(Find.ByName("MainFrame_00001"));

MenuFrame. = ie.Frame(Find.ById("leftMenu"));//把系统软件里的Frame先储存出来。

}

2、针对alert 、confirm 等javascript弹出来的对话框的捕捉。

情况:一个系统软件常常会应用之上这种javascript来弹出来一些信息提示,假如捕捉这种对话框,并仿真模拟客户点一下这种对话框上的OK或Cancel按键?

计划方案:实际上WatiN在默认设置状况下,都是会全自动地去点一下这种弹出式窗口上的Cancel按键的,但假如客户要确立点一下什么事情得话能够对IE目标提升一个“查看器”()

protected void f()

{

WatiN.Core.DialogHandlers.ConfirmDialogHandler dh = new WatiN.Core.DialogHandlers.ConfirmDialogHandler();

ie.AddDialogHandler(dh);

doc.Button(Find.ByName("yzp_dic_btn_cls")).ClickNoWait();//把原先的Click改为这一方式 。

dh.WaitUntilExists(3);//等候弹出对话框的出去。数最多等三秒。

dh.OKButton.Click();//点一下这一对话框的OK按键

ie.RemoveDialogHandler(dh);

doc.Button(Find.ByName("btn_close")).Click();

}

3、有关用JS弹出来的Modal对话框(方式对话框)的解决。

情况:有一些地区*须弹出来方式对话框来解决数据信息。

方解:当点一下了弹出来方式对话框的按键或联接后立刻用IE对像的HtmlDialogs属天生获得方式对话框。

protected void f()

{

//假定下边这行编码会弹出来一个方式对话框把原先的Click改为这一方式 。

//记牢这儿得用ClickNoWait而不能用Click,不然在方式对话框关掉以前编码不容易执行。

ie.Button(Find.ByName("yzp_dic_btn_cls")).ClickNoWait();

ie.HtmlDialogs[ie.HtmlDialogs.Length - 1].TextField(Find.ByName("Q")).Value = "Hello";

ie.HtmlDialogs[ie.HtmlDialogs.Length - 1].Button(Find.ByName("btn_query")).Click();

相关资讯

CDA认证考试LEVEL1的详细备考攻略
2023-06-21 598
CDA认证考试LEVEL1的详细备考攻略1、我是如何备考的其实我一开始完全是基础薄弱的小白,啥啥不懂。我决定考这个证书不只是想升职...
数控编程师证怎么
2023-06-22 469
数控编程师证怎么PROEUGAUTOCADMASTRCAMSurfacer等专业软件培训对加工中心火花机磨床数控车钻铣床激光抄数机等机床的操作培训为...
什么是商业数据分析师?
2023-06-21 312
什么是商业数据分析师?前言背景现在显然已经是数据智能时代了,传统商业和智能商业的本质区别可以用一个字来概括:“活的闭环”...
参加云计算培训要学多久
2021-10-18 282
在大家学习云计算技术以前*掌握什么是云测算,云计算技术的培训期限是多长时间,进而能够更好地计划自身的学习规划和职业发展规划。下边,达内教育教师为您做具体的详细介绍...
如何在编程中进行计算机视觉
2023-06-21 278
如何在编程中进行计算机视觉在编程中进行计算机视觉(Computer Vision)是目前热门的领域之一,其基本任务是让计算机通过摄像头...
计算机二级是程序员资格证书吗
2022-11-05 277
计算机二级是程序员资格证书吗全国计算机等级考试不只是针对大学生。它向任何年龄、教育程度或职业的人士开放。全国计算机等级考...
如何成为一名数据科学家
2023-06-21 269
数据科学家应该具备基本的概率统计知识,能够熟练进行t检验,开方检验,拟合优度检验,方差分析。能够清楚地解释Spearman秩相关...
程序思维是什么
2023-01-15 253
程序思维是什么什么是程序员思维?举个例子:在我们开发程序的时候,经常会面对一些错误,于是需要对这些错误进行跟踪并解决,不...

相关课程

栏目导航