selenium2学习笔记

最近在学习selenium自动化测试指南这本书,里面讲到了selenimu IDE、selenium 1(RC)以及selenium2(web driver),个人觉得使用selenium2(web driver)还是比较上手。下面记录了本人使用selenium2写的一个登陆页面的自动化。

一、环境搭建

1.需要的jar包

selenium-java-2.44.0.jar、以及selenium2.44 lib目中的一系列jar包,这些从网上都能找到。

2.myeclisps10

本人使用的工具是myelips10,打开工具,新建一个java工程,把上面1中的jar包导入,构建成功即可。

二、用例设计和脚本开发

登录功能测试用例
序号测试步骤检查点
1浏览器输入url地址检查是否成功进入后台登录页面
2点击登录按钮弹窗提示“请输入账号”
3输入小于5个字符或者大于30个字符的用户名,点击登录弹窗提示“账号的长度范围是5-30个字符”
4输入大于5个字符小于30个字符的错误用户名,点击登录弹窗提示“账号或密码错误,请重新输入”
5输入密码,点击登录弹窗提示“请输入账号”
6输入正确用户名和密码,点击登录成功登录,操作栏上出现“你好,xxx”字样

                                                                    测试用例

以下为脚本开发:

在myeclipse中新建一个后台登录脚本,如下

public class BackLogin {

	/**
	 * @param args
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws InterruptedException {
		
		WebDriver driver = new FirefoxDriver();
		Navigation navigation = driver.navigate();
		String url = "http://admin.9itest.com/";
		
		navigation.to(url);
		Thread.sleep(3000);
		System.out.println("检查是否成功进入用户登录页面:"+url.equals(driver.getCurrentUrl()));
		
		
		String tipText1 = "请输入账号!";
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		System.out.println("不输入用户名和密码弹窗提示'请输入账号':"+tipText1.equals(driver.findElement(By.id("userName")).getAttribute("nullmsg")));
		
		driver.findElement(By.name("password")).sendKeys("123456");
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		System.out.println("只输入密码弹窗提示'请输入账号':"+tipText1.equals(driver.findElement(By.id("userName")).getAttribute("nullmsg")));
		
		
		String tipText2 = "账号的长度范围是5-30个字符!";
		driver.findElement(By.id("userName")).sendKeys("aaaa");
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		System.out.println("小于5个字符时弹窗提示'账号的长度是5-30个字符!':"+tipText2.equals(driver.findElement(By.id("userName")).getAttribute("limitmsg")));
		
		driver.findElement(By.id("userName")).clear();
		driver.findElement(By.id("userName")).sendKeys("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		System.out.println("大于30个字符时弹窗提示'账号的长度是5-30个字符!':"+tipText2.equals(driver.findElement(By.id("userName")).getAttribute("limitmsg")));
		
		String tipText3 = "账号或密码错误,请重新输入!";
		driver.findElement(By.id("userName")).clear();
		driver.findElement(By.id("userName")).sendKeys("aaaaa");
		driver.findElement(By.name("password")).sendKeys("123456");
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		System.out.println("输入错误的用户名和密码提示'账号或密码错误,请重新输入!':"+tipText3.equals(driver.findElement(By.name("password")).getAttribute("nullmsg")));

		driver.findElement(By.id("userName")).clear();
		driver.findElement(By.name("password")).clear();
		driver.findElement(By.id("userName")).sendKeys("administrator");
		driver.findElement(By.name("password")).sendKeys("666666");
		driver.findElement(By.tagName("button")).click();
		Thread.sleep(2000);
		String linkText = driver.findElement(By.linkText("你好,超级管理员")).getText();
		System.out.println("成功登录,操作栏上出现‘你好,xxx':" + "你好,超级管理员".equals(linkText));
		
		driver.quit();
	}

三、遇到的问题

在selenium学习调试代码过程中,经常会碰到元素不能定位到的问题,需要尝试通过多种方式来解决,第一个考虑的是浏览器版本问题,本人使用的是firefox30版本;二是在定位元素时可以通过不同的方式来定位(比如说xpath、css、id、name、tagName等等)

上面还谈不上是入门吧,不过可以尝试对功能自动化有一个大体的认识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值