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等等)

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

利用 TensorFlow 训练自己的目标识别器。本文内容来自于我的毕业设计,基于 TensorFlow 1.15.0,其他 TensorFlow 版本运行可能存在问题。.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
当然,我可以帮你输出一篇Selenium学习笔记。以下是一份简单的学习笔记供参考: Selenium学习笔记 Selenium是一款用于自动化Web应用程序测试的强大工具。它提供了一组丰富的API,可以与各种编程语言(如Python、Java、C#等)结合使用,以实现Web应用程序的自动化测试。 1. 安装和配置 首先,你需要安装Selenium库。如果你使用Python,可以使用以下命令安装: ``` pip install selenium ``` 安装完成后,你还需要下载并配置相应的浏览器驱动程序。Selenium支持各种浏览器,如Chrome、Firefox、Safari等。你可以在Selenium官方网站上找到相应的驱动程序下载链接。 2. 基本操作 Selenium提供了一系列方法来模拟用户在浏览器中的操作,如打开URL、点击元素、输入文本等。以下是一些常用的基本操作示例: - 打开浏览器并访问URL: ```python from selenium import webdriver driver = webdriver.Chrome() # 使用Chrome浏览器驱动 driver.get("https://www.example.com") # 打开指定URL ``` - 查找元素并操作: ```python element = driver.find_element_by_id("element_id") # 根据元素ID查找 element.click() # 点击元素 input_element = driver.find_element_by_name("input_name") # 根据元素名称查找 input_element.send_keys("Hello, World!") # 输入文本 ``` - 执行JavaScript代码: ```python driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # 滚动到页面底部 ``` 3. 高级操作 Selenium还提供了一些高级操作,如处理弹窗、切换窗口、等待元素加载等。以下是一些常用的高级操作示例: - 处理弹窗: ```python alert = driver.switch_to.alert # 切换到弹窗 alert.accept() # 接受弹窗 confirm = driver.switch_to.alert # 切换到确认框 confirm.dismiss() # 取消确认框 ``` - 切换窗口: ```python window_handles = driver.window_handles # 获取所有窗口句柄 driver.switch_to.window(window_handles[-1]) # 切换到最后一个窗口 ``` - 等待元素加载: ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "element_id")) ) ``` 4. 测试框架 Selenium还可以与测试框架(如Pytest、JUnit等)结合使用,以便更好地组织和管理测试用例。你可以使用测试框架提供的断言方法来验证测试结果。 ```python import pytest def test_example(): driver = webdriver.Chrome() driver.get("https://www.example.com") assert "Example Domain" in driver.title # 断言页面标题包含指定文本 driver.quit() ``` 以上是一份简单的Selenium学习笔记,希望对你有所帮助。当然,Selenium还有很多其他功能和用法,你可以进一步深入学习和探索。祝你学习愉快!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值