软件测试第二次上机实验

这次上机我们主要使用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实现简单的自动化测试,其中包括测试的录制,编写及运行,让我们更加深入的了解了测试的方法和测试的重要性。

时间: 2024-10-18 17:03:14

软件测试第二次上机实验的相关文章

数据结构第二次上机实验【链表实现多项式的加法和乘法】

利用链表实现一元多项式的加法和乘法 #define null 0 #include "stdio.h" #include "stdlib.h" #include "math.h" int op; typedef struct { float coef;//系数 int expn;//指数 }term; typedef struct Lnode { term data; Lnode *next; }*Link,*Linklist; int cmp(

算法第二章上机实验报告

1.实践题目 7-1 二分查找 (20 分) 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 输入格式: 输入共三行:第一行是n值:第二行是n个整数:第三行是x值. 输出格式: 输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 输入样例: 4 1 2 3 4 1 输出样例: 0 2 2.问题描述 本道题是让我们输入非降序排列的整数,也就是说是排好

0916 编译原理第二次上机实验

#include<stdio.h>#include<string.h>void Fenxi(char c,char b);void word(char a[]);void number(char a[]);int i;  //定义全局变量iint s=1; //用来记录是否存在非法字符main(){    char a[50];    printf("请输入源程序:");    gets(a);    printf("您要分析的源程序为:")

软件测试第二次上机作业

一.在火狐浏览器上安装selenium插件 点击“开发者”的选项,然后点击“获取更多工具”,输入seleniumIDE进行搜索,找到后进行安装即可.安装完成后火狐浏览器的右上角会多出一个小的带“se”标志的按钮,点击即可打开这个插件. 二.学会用SeleniumIDE录制脚本和导出脚本 点击带“se”标志的按钮打开这个插件 点击“文件” new test case,然后点击右上角的红色圆形按钮开始进行脚本的录制工作,接下来在地址栏的位置输入http://www.ncfxy.com这个网址,在这个

第二章上机实验报告

1.实践题目:7-1 2.问题描述:使用二分查找算法在n个非降序排列的整数中查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 3.算法描述:将n个元素分成个数大致相同的两半,取a[mid]与x比较.如果x=a[mid],则找到x,算法终止:如果x<a[mid],则只在数组a的左半部继续查找x,如果x>a[mid],则只在a的右半部继续搜索x.同时,在while语句里加一个b统计比较次数. 4.代码如下: 1 #include<iostream> 2

【软件测试第二次实验】Selenium 的应用

一.作业要求 Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问指定网站使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该同学的git地址. 4.编写Selenium Java WebDriver程序,测试input.xlsx表格中的学号和git地址的对应关系是否正确. 5.将测试代码提交到github上(4月15日23:59:59前). 二.完成过程 1.Selenium IDE的安装 Sele

lingo运筹学上机实验指导

<运筹学上机实验指导>分为两个部分,第一部分12学时,是与运筹学理论课上机同步配套的4个实验(线性规划.灵敏度分析.运输问题与指派问题.最短路问题和背包问题)的Excel.LONGO和LINDO求解方法和3个大综合作业,并配有解答和操作的视频:第二部分16学时,介绍LINGO求解运筹学中线性.整数等问题,主要侧重介绍解决大规模的运筹学问题,包含10个实验和1个综合大实验,并附有求解过程.答案及相应的视频,且答案经过上课检验全部正确.建议在上完“运筹学”的理论课和基本了解Excel.LONGO和

[转]华中科技大学 计算机组成原理 上机实验2 2018

notice : 这篇文章仅仅具有上机实验的参考作用,并且需要配套的文件 Logisim学习 ? 隧道 ? 相当于局部变量 复用器-Bit-Selector? 把(West edge)输入数据从最低位开始,平均分成n组,n由输出位宽决定; 另一个输入(South egde)决定选择第i组数据 用到的组件总结 ? Wiring→Bit Extender,Constant,Tunnel,Probe Gates→- Plexers→Multiplexer,Decoder,Bit Selector Ar

Java语言程序设计 上机实验5 异常

Java语言程序设计 上机实验5 实验目的: 理解异常的概念,掌握Java的异常处理机制.常见异常的捕获方法.自定义异常及其抛出和捕获方法. 实验内容: 常见异常的捕获: 编写一个程序,分别生成ArrayIndexOutOfBoundsException类型和NumberFormatException类型的异常:然后改写程序,对这两种类型的异常进行捕获并合理地处理. 另外,思考并回答问题:能否0同时抛出ArrayIndexOutOfBoundsException类型和NumberFormatEx