[软件测试基础2]基于selenium的自动化测试

这次上机我们主要使用Selenium进行自动化测试首先我们需要下载selenium-java的依赖项。

若使用maven管理项目,则在.pom文件中加入如下依赖项:

1 <dependency>
2 <groupId>org.seleniumhq.selenium</groupId>
3 <artifactId>selenium-java</artifactId>
4 <version>2.53.0</version>
5 </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实现简单的自动化测试,其中包括测试的录制,编写及运行,让我们更加深入的了解了测试的方法和测试的重要性。

时间: 2024-11-16 04:48:37

[软件测试基础2]基于selenium的自动化测试的相关文章

基于Selenium的自动化测试框架 - SeLion学习之一(基本介绍)

SeLion是一个基于Selenium的自动化测试框架,是Selenium下的一款非常优秀的框架结构,但是资料非常少,在国内使用的也就相对较少,本人会用一系列的文章,比较详细的介绍该框架结构,希望能给广大的自动化测试爱好者提供一个实现思路,如果对该本人文章感兴趣或者有什么问题,欢迎留言,我会尽量回答,也欢迎转载该系列文章.该文章是本系列第一节,SeLion的基本介绍,先让大家对SeLion有一个基本的认识. 一:SeLion是什么?SeLion是基于Selenium的一款开源测试框架,是对Sel

转载 基于Selenium WebDriver的Web应用自动化测试

转载原地址:  https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中,需要大量的手动操作来验证某些功能.开发人员在开发过程中,需要访问其应用并且验证其功能是否正常运行,反复调试重复验证.系统维护人员也需要经常访问其应用,以确保系统的正常运行.如上所述的这些操作需要花费大量的时间和人力,如能引入自动化测试代替人工重复操作,将极大地提高团队的生产效率.在本文中,我们将介绍

基于Selenium 2的自动化测试(源码)

基于Selenium 2的自动化测试 出版社: 机械工业出版社副标题: 从入门到精通出版年: 2014-8-9页数: 210定价: 39.80装帧: 平装ISBN: 9787111467830 简介 本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试.本书从自动化测试的特点娓娓道来,引出了主角Selenium:介绍了Selenium IDE的使用:讲述了获取页面元素和定位页面元素的多种方式:讲解了WebDriver与Selenium RC的区别.WebDriver的架构和

基于Selenium 2的自动化测试

基于Selenium 2的自动化测试 出版社: 机械工业出版社副标题: 从入门到精通出版年: 2014-8-9页数: 210定价: 39.80装帧: 平装ISBN: 9787111467830 简介 本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试.本书从自动化测试的特点娓娓道来,引出了主角Selenium:介绍了Selenium IDE的使用:讲述了获取页面元素和定位页面元素的多种方式:讲解了WebDriver与Selenium RC的区别.WebDriver的架构和

软件测试Lab2————用selenium进行自动化测试

本次实验内容为用selenium进行自动化测试 主要分为以下几个步骤: 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://www.ncfxy.com使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该用户的邮箱. 4.编写Selenium Java WebDriver程序,测试info.csv表格中的学号和邮箱的对应关系是否正确. 5.将测试代码提交到github上. 一.安装SeleniumIDE插件 Selen

Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上,下面再举例Selenium+Eclipse+Python测试环境搭建. 第一步:安装Python 根据下面的地址,直接一键安装,全部默认方式. 下载地址:http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi 安装到C:\Python27,设置

深入理解基于selenium的二次开发

对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是为了易于维护,很多人可能不懂得维护的价值是什么,和到底要维护什么.今天专门写一篇关于二次开发的文章,希望能够帮到有需要做二次开发的人.      二次开发也就是我们常说的封装selenium,或者做框架.但是一个框架要包含丰富的类和方法.要有一套完整的体系来帮助我们进行封装.可以说框架的设计思想就是整个框架的灵魂,如果设计思想很正确也就意味着这个框架成功

软件测试基础(1)

目录 l 软件测试基础 l 掌握软件测试相关的概念 l 掌握软件生命周期以及各阶段相关的工作 l 掌握测试的对象和原则 l 了解软件开发模型 l 掌握软件测试模型及各模型的特点 l 掌握软件测试的方法和类型 l  了解软件测试质量及测试与QA的关系.区别 测试相关概念 IT( information technology )信息科技和产业的意思 软件:一系列按照特定顺序组织的计算机数据和指令的集合程序+数据+文件 产品:能够供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物

Selenium+SpecFlow自动化测试一天实践(C#)

一年前在和一位大神的聊天中了解了Selenium自动化测试,兴冲冲买了<零成本实现Web自动化测试——基于Selenium WebDriver和Cucumber>,看了前几章一头雾水,被各种理论打懵了.从此觉得自动化测试好厉害,但是好遥远,没有单元测试那么简单易学啊. 这两天,网站前期开发的一个大坑被挖出来了,几乎把整个项目的所有页面都改了.加上前期开发的新功能在SVN里一合并,看着一大堆冲突,我心里彻底没底了,想着要测试一遍,但是那么多页面和业务一测就是几天. 要是所有的测试能够自动化,以后