软件测试:Lab 2 Selenium
Lab 2 Selenium:
一 、安装SeleniumIDE插件
1.下载火狐V42.0(下载地址:http://ftp.mozilla.org/pub/firefox/releases/42.0/win64/zh-CN/ )。
2.打开火狐浏览器,百度打开 https:
//addons.mozilla.org/zh-CN/firefox/addon/selenium-ide/versions/ ,选择Selenium IDE v2.9.1 ,在弹出窗口中选择安装-->立即重启即可。
二 、学会使用SeleniumIDE录制脚本和导出脚本
1.打开Firefox,按Ctl+ Alt + S打开SeleniumIDE,或者直接点击firework菜单栏--->selenium图标。
2.确保SeleniumIDE处于录制状态
3.用firework访问https://psych.liebes.top/st,使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到你的git地址,再次点击红色按钮完成录制,并保存测试用例(文件—>Save Test Case) 。
4.导出为Java代码。
文件—>Export—>Java/ JUnit 4 /WebDriver
代码如下:
accessWebsite.java
package com.example.tests;import java.util.regex.Pattern;public class AccessWebsite {private WebDriver driver;private String baseUrl;private boolean acceptNextAlert = true;private StringBuffer verificationErrors = new StringBuffer();@Beforepublic void setUp() throws Exception {driver = new FirefoxDriver();baseUrl = "https://psych.liebes.top/";driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);}@Testpublic void testAccessWebsite() throws Exception {driver.get(baseUrl + "/st");driver.findElement(By.id("username")).clear();driver.findElement(By.id("username")).sendKeys("3015218070");driver.findElement(By.id("password")).clear();driver.findElement(By.id("password")).sendKeys("218070");driver.findElement(By.id("submitButton")).click();driver.findElement(By.id("submitButton")).click();driver.findElement(By.cssSelector("p.login-box-msg")).click();}@Afterpublic void tearDown() throws Exception {driver.quit();String verificationErrorString = verificationErrors.toString();if (!"".equals(verificationErrorString)) {fail(verificationErrorString);}}private boolean isElementPresent(By by) {try {driver.findElement(by);return true;} catch (NoSuchElementException e) {return false;}}private boolean isAlertPresent() {try {driver.switchTo().alert();return true;} catch (NoAlertPresentException e) {return false;}}private String closeAlertAndGetItsText() {try {Alert alert = driver.switchTo().alert();String alertText = alert.getText();if (acceptNextAlert) {alert.accept();} else {alert.dismiss();}return alertText;} finally {acceptNextAlert = true;}}
}
三、编写Selenium Java WebDriver程序,测试input.xlsx表格中的学号和git地址的对应关系是否正确。
1.下载Selenium Java 2.53.1(下载地址:http://selenium-release.storage.googleapis.com/index.html?path=2.53/ )。
2. 打开eclipse,新建项目lab2,导入selenium-java-2.53.1.jar,selenium-java-2.53.1-srcs.jar 和 libs文件夹里的所有jar包。
项目目录右键-->Build Path--> config build path-->Java Build Path-->Libraries-->Add External JARs-->OK。
3. 下载jxl-2.6.10.jar(下载地址:http://maven.ibiblio.org/maven2/net/sourceforge/jexcelapi/jxl/ ),用于读取input.xlsx(excel文件),并导入项目lab2,同时导入hamcrest-all-1.3.jar(下载地址见上一篇博客),导入方法与步骤2一样。
4. 编写代码。
注意点:(1)excel表格中有的github地址后面带有"/",建议都去掉"/"再比较
if(info.endsWith("/")) {
info = info.substring(0, info.length()-1); } if(address.endsWith("/")) { address = address.substring(0, address.length()-1);
}
(2)从excel表格中获取的github地址以及从页面获得的地址,都用trim()去掉首尾空格后再比较是否一致。
代码如下:
Selenium.java
package selenium;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;public class Selenium {private WebDriver driver;private String baseUrl;private boolean acceptNextAlert = true;private StringBuffer verificationErrors = new StringBuffer();String info=new String();String address=new String();@Beforepublic void setUp() throws Exception {System.setProperty("webdriver.chrome.driver","E:/大三下/软件测试/chromedriver.exe"); // 此处PATH替换为你的chromedriver所在路径driver = new ChromeDriver();baseUrl = "https://psych.liebes.top/";driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);}@Testpublic void test1() throws Exception { //读取excel文件File file = new File("E:/大三下/软件测试/input.xls"); try { // 创建输入流,读取Excel InputStream is = new FileInputStream(file.getAbsolutePath()); // jxl提供的Workbook类 Workbook wb = Workbook.getWorkbook(is);// 为页签sheet 1创建一个Sheet对象 Sheet sheet = wb.getSheet(0);for (int i = 0; i < sheet.getRows(); i++) { //按列名读取这条记录的值String number = sheet.getCell(0, i).getContents(); //读取学号String pwd = number.substring(number.length()-6,number.length()); //读取密码address = sheet.getCell(1, i).getContents().trim(); //读取github地址,记得用trim去掉首尾空格//访问给定网址driver.get(baseUrl + "/st");//输入用户名driver.findElement(By.id("username")).clear();driver.findElement(By.id("username")).sendKeys(number);//输入密码driver.findElement(By.id("password")).clear();driver.findElement(By.id("password")).sendKeys(pwd);//点击登录按钮driver.findElement(By.id("submitButton")).click();//登录成功之后,获得当前页面的用户信息info = driver.findElement(By.tagName("p")).getText().trim();//excel表格中有的github地址后面带有"/",建议都去掉"/"再比较if(info.endsWith("/")) {info = info.substring(0, info.length()-1);}if(address.endsWith("/")) {address = address.substring(0, address.length()-1);}//比较查询信息 if(info.equals(address)) {assertEquals(info,address);System.out.println(number+"的信息一致.");}else {System.out.println(number+"的信息不一致.");}}driver.close();} catch (FileNotFoundException e) { e.printStackTrace(); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }@Afterpublic void tearDown() throws Exception {driver.quit();String verificationErrorString = verificationErrors.toString();if (!"".equals(verificationErrorString)) {fail(verificationErrorString);}}private boolean isElementPresent(By by) {try {driver.findElement(by);return true;} catch (NoSuchElementException e) {return false;}}private boolean isAlertPresent() {try {driver.switchTo().alert();return true;} catch (NoAlertPresentException e) {return false;}}private String closeAlertAndGetItsText() {try {Alert alert = driver.switchTo().alert();String alertText = alert.getText();if (acceptNextAlert) {alert.accept();} else {alert.dismiss();}return alertText;} finally {acceptNextAlert = true;}}}
5. 运行结果截图
软件测试:Lab 2 Selenium相关推荐
- 深圳软件测试培训:Selenium断言与验证
深圳软件测试培训:Selenium断言与验证 一.什么是断言? 验证应用程序的状态是否同所期望的一致.常见的断言包括验证页面内容,如标题或当前位置是否正确等等. 二.断言的四种模式与五种手段 四种模式 ...
- 软件测试技术lab2——Selenium上机实验
Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://121.193.130.195:8080/使用学号登录系统 ...
- 【软件测试】python+selenium自动化测试
一.什么是自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最 后评估运行结果.将人为驱动的测试行为转化为机器执行的过程. 单元测试 java的单元测 ...
- LRC软件测试自学,自学selenium笔记一 - kael的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
学习的内容如下,通过默认路径,指定路径打开IE,火狐,打开URL,得到当前网页的title和URL,关闭浏览器 打开火狐浏览器: package selrctest; import org.openq ...
- 【软件测试】使用selenium工具对Web聊天室项目进行UI自动化测试
文章目录 用户注册功能 注册成功 注册失败 测试套件 HTML测试报告 异常截图 用户登陆注册功能 登陆成功 账号不存在,登陆失败 密码错误,登陆失败 测试套件 HTML测试报告 异常截图 本次自动化 ...
- 测试小白的软件测试知识(适用于面试前突击)
第一节 软件测试基础知识 1. 怎样看待测试,知道哪些测试的类型,有用过哪些测试方法? 软件测试是使用人工或自动化手段来运行或测 ...
- 零基础怎么学测试?2022史上最全软件测试学习路线图+教程分享
1.软件测试基础知识 >> 下载300G软测学习资料包[视频教程+PPT+课件+项目源码] 学习目标:对软件测试整理的测试流程有清晰的概念,了解软件测试到底是做什么的,软件测试的各种专业术 ...
- 软件测试需要学什么?年薪30W+的测试工程师需要掌握哪些技能?
从事任何一个行业,不论想入行的新人还是已经在职的从业人员,一定要系统化的掌握自身的学习路线和发展方向,随时对自身的优劣点掌握清楚.尤其是对于软件测试这个岗位.测试职业所涉及的技能范围比较广,测试流 ...
- python3 selenium_Python3+Selenium3自动化测试-(准备)
Python3+Selenium3自动化测试-(准备) 最近在学习selenium自动化测试相关的内容,所以将实际准备情况做一记录, # 系统:win10(64位) # 浏览器:Chrome(67.0 ...
- 【自动化】Python3+Selenium3自动化测试-准备工作
# 系统:win7(64位) # 浏览器:Chrome(75.0.3770.100) # python版本:3.7.0 # Selenium:3.14.1 Selenium简介 Selenium是一款 ...
最新文章
- Windows7上使用VS2013编译Caffe源码(不带GPU支持)步骤
- 干燥剂变身“配重剂”,究竟有多少商家在休闲零食市场浑水摸鱼?
- 【opencv学习】完全基于opencv的双目景深与测距的实现
- 22. C# -- 抽象类和接口
- 【SpringCloud】Ribbon 负载均衡
- ANT出现“警告: 编码 GBK 的不可映射字符”解决方法
- 阅读《软件工程—理论方法与实践》第五章心得体会
- HITS 算法(Hypertext Induced TopicSelection)
- 【Android】1.开发环境搭建
- 六、基于UDP的服务器端/客户端
- Android--线程详解
- ML~线性代数~python
- 【Espruino】NO.18 使用L298N驱动直流电机
- 信息安全等级保护三级要求,安全管理机构多年测评经验分享
- win10 软路由_「保姆级」万晓博带你用软路由搭建家庭网络中心第1节-准备工作...
- WinRAR密码破解(精)
- python一维数组转置_Python 矩阵转置的几种方法小结
- 算法提高 金明的预算方案
- 最实用的网页设计素材打包下载[15G]
- Java(Spring boot)实现生成二维码