服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP.NET教程 - 批量账号的login测试功能实现

批量账号的login测试功能实现

2019-10-11 10:55asp.net开发网 ASP.NET教程

用WaitiN写了个简单的login自动化测试,能够使用少量的代码实现批量账号的login测试,需要的朋友可以参考下

用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("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"); 
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}\r\n {1}", msg, loginIsSuccess == loginSuccess ? "Successful" : "Failed"); 
ReportSummary += msg+"\r\n"; 
Console.WriteLine(msg); 



}

延伸 · 阅读

精彩推荐