• 手机站
  • 收藏
聚培教育网合作机构 > 南京达内教育
南京达内教育
400-998-6158
南京达内培训是国内首家上市IT培训企业。已在中国多个中心城市建立了多家实训中心。
南京达内教育

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

数据库学习网

更新时间:2021-10-07 浏览:103
核心提示:.net开发Web自动化测试工具,WatiN 是一个比较简单灵便的检测架构,能够仿真模拟客户在手机客户端电脑浏览器中的绝大部分实际操作,API也非常简单

前不久,因为检测*须,应用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();

更多>同类资讯
更多>相关课程
顶部