批量账号的login测试功能实现
批量账号的login测试功能实现
发布时间:2016-12-29 来源:查字典编辑
摘要:用WaitiN写了个简单的login自动化测试,能够使用少量的代码实现批量账号的login测试很简单的,代码如下:复制代码代码如下:usin...

用WaitiN写了个简单的login自动化测试,能够使用少量的代码实现批量账号的login测试

很简单的,代码如下:

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using WatiN.Core;

namespace ConsoleApplication1

{

class Program

{

[STAThread]

static void Main(string[] args)

{

List<LoginTester.LoginAccount> Accounts = new List<LoginTester.LoginAccount>();

Accounts.Add(new LoginTester.LoginAccount() { UserName = "your user account", Password = "aaaaa", ShouldSuccess = false });

Accounts.Add(new LoginTester.LoginAccount() { UserName = "your user account", Password = "", ShouldSuccess = false });

Accounts.Add(new LoginTester.LoginAccount() { UserName = "your user account", Password = "your password", ShouldSuccess = true });

LoginTester tester = new LoginTester("http://passport.cnblogs.com/login.aspx", "http://home.cnblogs.com", "tbUserName", "tbPassword", "btnLogin");

tester.BrowserVisible = true;

Accounts.ForEach(t=>tester.ExecuteTest(t.UserName, t.Password, t.ShouldSuccess));

Console.WriteLine("rnrnrnrnrnrnrnrnrn");

Console.WriteLine("************Test Report Summary****************");

Console.WriteLine(tester.ReportSummary);

}

public class LoginTester

{

public class LoginAccount

{

public string UserName { get; set; }

public string Password { get; set; }

public bool ShouldSuccess { get; set; }

}

private string loginUrl = string.Empty;

private string loginSuccessForwaredUrl = string.Empty;

private string loginButtonName = string.Empty;

private string userNameFieldName = string.Empty;

private string passwordFieldName = string.Empty;

public string ReportSummary { get; private set; }

public bool BrowserVisible { get; set; }

public LoginTester(string loginUrl, string loginSuccessForwaredUrl, string userNameFieldName, string passwordFieldName, string loginButtonName)

{

this.loginUrl = loginUrl;

this.loginSuccessForwaredUrl = loginSuccessForwaredUrl;

this.userNameFieldName = userNameFieldName;

this.passwordFieldName = passwordFieldName;

this.loginButtonName = loginButtonName;

}

public void ExecuteTest(string userName, string password, bool loginSuccess)

{

string msg = string.Format("用户名: {0}, 密码: {1}, 期望能否登录: {2}", userName, password, loginSuccess);

using (IE browser = new IE(this.loginUrl))

{

browser.Visible = this.BrowserVisible;

browser.TextField(Find.ByName(this.userNameFieldName)).TypeText(userName);

browser.TextField(Find.ByName(this.passwordFieldName)).TypeText(password);

browser.Button(Find.ByName(this.loginButtonName)).Click();

bool loginIsSuccess = browser.Url.IndexOf(this.loginSuccessForwaredUrl, StringComparison.OrdinalIgnoreCase) >= 0;

msg = string.Format("{0}rn {1}", msg, loginIsSuccess == loginSuccess ? "Successful" : "Failed");

ReportSummary += msg+"rn";

Console.WriteLine(msg);

}

}

}

}

源代码下载

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类