[软件测试基础2]基于selenium的自动化测试
这次上机我们主要使用Selenium进行自动化测试,首先我们需要下载selenium-java的依赖项。
若使用maven管理项目,则在.pom文件中加入如下依赖项:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
也可以手动下载jar包,具体可以上官网下载,在此不再赘述。
下面是我们实验内容:
一、实验目的
- 安装SeleniumIDE插件
- 学会使用SeleniumIDE录制脚本和导出脚本
- 访问http://www.ncfxy.com使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该用户的邮箱。
- 编写Selenium Java WebDriver程序,测试info.csv表格中的学号和邮箱的对应关系是否正确。
二、Java WebDriver代码:
package lesson1; import static org.junit.Assert.*; import java.util.concurrent.TimeUnit; import org.junit.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream; import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label; public class ExampleForFireFox { private WebDriver driver;
private String baseUrl; @Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "http://www.ncfxy.com/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
} @Test
public void Test1() throws Exception {
jxl.Workbook readwb = null;
//构建Workbook对象, 只读Workbook对象
//直接从本地文件创建Workbook
InputStream instream = new FileInputStream("D:/info.xls"); readwb = Workbook.getWorkbook(instream);
//System.out.println("jjjjjjj ");
//Sheet的下标是从0开始
//获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
//获取指定单元格的对象引用
for (int i = 0; i <rsRows; i++)
{
driver.get(baseUrl);
Cell cell = readsheet.getCell(0, i);
String username = cell.getContents();
String password = username.substring(4, 10);
// 通过 id 找到 input 的 DOM
WebElement element = driver.findElement(By.id("name"));
WebElement element1 = driver.findElement(By.id("pwd")); //System.out.println(element.getSize());
// 输入关键字
element.sendKeys(username);
element1.sendKeys(password); // 提交 input 所在的 form
element.submit(); //获取得到的邮箱
WebElement element2 = driver.findElement(By.xpath("//td[2]")); String mailByWeb = element2.getText();
String mailByInfo = readsheet.getCell(1,i).getContents(); assertEquals(mailByInfo,mailByWeb); //System.out.println(element2.getText()); // System.out.println();
}
/* //利用已经创建的Excel工作薄,创建新的可写入的Excel工作薄
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(
"D:/info.xls"), readwb);
//读取第一张工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);
//获得第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//判断单元格的类型, 做出相应的转化
if (wc.getType() == CellType.LABEL)
{
Label l = (Label) wc;
l.setString("新姓名");
}
//写入Excel对象
wwb.write();
wwb.close(); */
//关闭读入流
readwb.close(); }
}
三、心得
通过本次实验我们学会了如何用Selenium IDE实现简单的自动化测试,其中包括测试的录制,编写及运行,让我们更加深入的了解了测试的方法和测试的重要性。
[软件测试基础2]基于selenium的自动化测试的更多相关文章
- 基于Selenium的自动化测试 C#版(1)
引子 我一直在思考,作为一个架构师,如何简化程序员的工作,减轻运维的压力,减低测试的要求.然后做了很多很多的尝试.最开始的公司培训文档,一键发布工具,Nuget版本管理,VS项目模板,SOA统一服务提 ...
- 转载 基于Selenium WebDriver的Web应用自动化测试
转载原地址: https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中, ...
- 使用 Selenium 实现基于 Web 的自动化测试
(转自http://www.ibm.com/developerworks/cn/web/1209_caimin_seleniumweb/index.html) Selenium 是一个用于 Web 应 ...
- 基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架
前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...
- 基于selenium的pyse自动化测试框架
WebUI automation testing framework based on Selenium 介绍: pyse基于selenium(webdriver)进行了简单的二次封装,比seleni ...
- TestNG测试框架在基于Selenium进行的web自动化测试中的应用
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...
- 基于Selenium+Python的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法
虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...
- Selenium 2自动化测试实战
Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...
随机推荐
- 红黑树/B+树/AVL树
RB Tree 红黑树 :http://blog.csdn.net/very_2/article/details/5722682 Nginx的RBTree实现 :http://blog.csdn ...
- 前端 js 发送验证码
1. 代码如下: <html> <head> <meta charset="utf-8"> <title></title> ...
- seajs hello world
http://localhost/seajs/index.html <!doctype html> <head> <title>Hello Seajs</ti ...
- Android笔记:数据储存
1.文件存储 文件存储是Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据. ...
- 统一配置管理-百度disconf
之前一直采用properties文件管理配置信息,若是集群则每个机器上都要拷贝一份,每次修改也需要依次修改.一直在寻找统一修改,实时生效,方便修改,分环境分系统的配置管理,自己也在整理设计,若找不到合 ...
- VNC安装与使用
查看是否安装VNC:rpm -qa | grep vnc 安装VNC:rpm -ivh vnc-4.1.2-14.el5_3.1.i386.rpm ,rpm -ivh vnc-server-4.1.2 ...
- [C++][数据结构]队列(queue)的实现
对于队列的定义,前人之述备矣. 队列的实现方法与栈非常相似.我直接在我实现的那个栈的代码上加了一点东西,全局替换了一些标识符,就实现了这个队列. 我实现的是一个queue<value>容器 ...
- 【SSM】Eclipse使用Maven创建Web项目+整合SSM框架
自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...
- Codeforces Round #370 - #379 (Div. 2)
题意: 思路: Codeforces Round #370(Solved: 4 out of 5) A - Memory and Crow 题意:有一个序列,然后对每一个进行ai = bi - bi ...
- 浏览器-07 chromium 渲染1
Chromium 软件渲染 软件渲染就是利用CPU,根据一定的算法来计算生成网页的内容; Chromium都是用软件渲染的技术来完成页面的绘制工作(除非强行打开硬件加速绘制); 软件渲染基础和架构 R ...