51Testing软件测试论坛
标题:
selenium 登录页面测试代码怎么写
[打印本页]
作者:
casilin
时间:
2011-3-14 08:27
标题:
selenium 登录页面测试代码怎么写
selenium有一个方法是getAlert(),是获得弹出窗口的信息。我不输入用户名或密码点击[确定]按钮后会通过js弹出一个请填写用户名或密码,这个弹出信息窗可以捕捉到,但是我填写错误的用户名或密码,点击[确定]后,会提交至另一个页面处理,然后不正确便弹出信息框提示登录失败,这个弹出框我就捕捉不到,我该怎么写?我的具体代码如下:
selenium.open("http://登录页面地址");
selenium.type("user", "admin");
selenium.type("pwd", "admin");
selenium.click("btn");
String message = selenium.getAlert();
运行的时候报找不到这个alert。
这个确定按钮点击后都是调用一个js程序,如果有用户名或密码没有天, 则直接alert一个信息框,如果都填写了则转向另一个处理页面。
作者:
robin.von
时间:
2011-3-14 15:00
if (selenium.isAlertPresent()){
String message = selenium.getAlert();
......
}else{
......
}
作者:
casilin
时间:
2011-3-15 16:19
回复
2#
robin.von
它就是捕捉不到这个alert的弹出框,如果按照你这个判断的话,那么isAlertPresent()结果为false,我依旧不能获得该弹出框的信息
作者:
robin.von
时间:
2011-3-15 16:56
把测试页面的源代码帖出来!
作者:
casilin
时间:
2011-3-16 09:11
回复
4#
robin.von
这个就是被测代码,有很多样式和无关的我都删去了。
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="CACHE-CONTROL" content="no-cache" />
</head>
<script language="javascript" type="text/javascript" src="./js/cookiecontrol.js">
</script>
<script type="text/javascript">
function validate()
{
if (checkbox()==true)
{
document.mainform.submit();
}
}
function checkbox()
{
var txt_user = document.getElementById('user');
var txt_pwd = document.getElementById('pwd');
if(txt_user.value=='')
{
alert('The user name should not be empty.');
mainform.user.focus();
return false;
}
if(txt_pwd.value=='')
{
alert('The password should not be empty.');
mainform.pwd.focus();
return false;
}
return true;
}
</script>
<form enctype="multipart/form-data" action="login.html" id="mainform" name="mainform" method="post">
<body class="body" repeat-x #CCC;">
<div style="border:0px;margin:0px auto; padding:0px; width:800px;">
<table border=0 cellspacing="0">
<tr>
<td align='left'>username</td>
</tr>
<tr>
<td><input name="user" type="text" id="user" value="" /></td>
</tr>
<tr>
<td>password</td>
</tr>
<tr>
<td align="left" valign="top"><input name="pwd" type="password" id="pwd" value="" /></td>
</tr>
<tr>
<td style="background:url(images/lg_07_2.gif);" align="center" valign="middle">
<input type = 'submit' value = 'submit' onclick ='validate()' align='middle'></td>
</tr>
</table>
</div>
</body>
</form>
</html>
复制代码
作者:
robin.von
时间:
2011-3-16 09:25
捕捉不到的那个对话框试试用AutoIt去抓吧,这个对话框是通过SERVER验证以后再弹出的,SELENIUM貌似抓不到,我以前也碰到过,好像用AUTOIT可以抓到。
作者:
casilin
时间:
2011-3-16 13:41
回复
6#
robin.von
谢谢,我去试试~
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2