软件测试第二次实验实验报告

1、实验代码

  1 import java.util.Collection;
  2 import java.util.concurrent.TimeUnit;
  3 import org.junit.*;
  4 import static org.junit.Assert.*;
  5
  6 import org.junit.runner.RunWith;
  7 import org.junit.runners.Parameterized;
  8 import org.openqa.selenium.*;
  9 import org.openqa.selenium.firefox.FirefoxDriver;
 10 import org.openqa.selenium.support.ui.Select;
 11
 12 import java.util.*;
 13 import java.io.*;
 14 import java.util.NoSuchElementException;
 15
 16 @RunWith(Parameterized.class)
 17 public class Lab2 {
 18     private String input1;
 19     private String input2;
 20     private String expected;
 21
 22     private WebDriver driver;
 23     private String baseUrl;
 24     private boolean acceptNextAlert = true;
 25     private StringBuffer verificationErrors = new StringBuffer();
 26
 27     public Lab2(String input1, String input2, String expected) {
 28         this.input1 = input1;
 29         this.input2 = input2;
 30         this.expected = expected;
 31     }
 32
 33     //读取csv文件
 34     public static List<String> importCsv(File file){
 35         List<String> dataList=new ArrayList<String>();
 36
 37         BufferedReader br=null;
 38         try {
 39             br = new BufferedReader(new FileReader(file));
 40             String line = "";
 41             while ((line = br.readLine()) != null) {
 42                 dataList.add(line);
 43             }
 44         }catch (Exception e) {
 45         }finally{
 46             if(br!=null){
 47                 try {
 48                     br.close();
 49                     br=null;
 50                 } catch (IOException e) {
 51                     e.printStackTrace();
 52                 }
 53             }
 54         }
 55
 56         return dataList;
 57     }
 58
 59     @Before
 60     public void setUp() throws Exception {
 61         driver = new FirefoxDriver();
 62         baseUrl = "http://121.193.130.195:8080";
 63         driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
 64     }
 65
 66     @Parameterized.Parameters
 67     public static Collection<Object[]> getData() {
 68         List<Object[]> output = new ArrayList<>();
 69         List<String> dataList=importCsv(new File("/Users/wuzhuo/Desktop/inputgit.csv"));
 70         for(int i = 1 ; i < dataList.size(); i++) {
 71             String[] split = dataList.get(i).split(",");
 72             Object[] data = new Object[]{split[0], dataList.get(i).substring(4,10), split[2]};
 73             output.add(data);
 74             System.out.println(data);
 75         }
 76         return output;
 77     }
 78
 79     @Test
 80     public void testLab2() throws Exception {
 81         driver.get(baseUrl + "/");
 82         driver.findElement(By.id("name")).clear();
 83         driver.findElement(By.id("name")).sendKeys(this.input1);
 84         driver.findElement(By.id("pwd")).clear();
 85         driver.findElement(By.id("pwd")).sendKeys(this.input2);
 86         //new Select(driver.findElement(By.id("gender"))).selectByVisibleText("男");
 87         driver.findElement(By.id("submit")).click();
 88         Object git1 = driver.findElement(By.xpath("//*[@id=‘table-main‘]/tr[3]/td[2]")).getText();
 89         //System.out.println(git1);
 90         //assertEquals(this.expected, git1);
 91         System.out.println(git1.toString());
 92         assertEquals(this.expected, git1.toString());
 93     }
 94
 95     @After
 96     public void tearDown() throws Exception {
 97         driver.quit();
 98         String verificationErrorString = verificationErrors.toString();
 99         if (!"".equals(verificationErrorString)) {
100             fail(verificationErrorString);
101         }
102     }
103
104     private boolean isElementPresent(By by) {
105         try {
106             driver.findElement(by);
107             return true;
108         } catch (NoSuchElementException e) {
109             return false;
110         }
111     }
112
113     private boolean isAlertPresent() {
114         try {
115             driver.switchTo().alert();
116             return true;
117         } catch (NoAlertPresentException e) {
118             return false;
119         }
120     }
121
122     private String closeAlertAndGetItsText() {
123         try {
124             Alert alert = driver.switchTo().alert();
125             String alertText = alert.getText();
126             if (acceptNextAlert) {
127                 alert.accept();
128             } else {
129                 alert.dismiss();
130             }
131             return alertText;
132         } finally {
133             acceptNextAlert = true;
134         }
135     }
136 }

2、实验结果

时间: 2024-11-08 12:41:16

软件测试第二次实验实验报告的相关文章

软件测试第二次上机实验

这次上机我们主要使用Selenium进行自动化测试,首先我们需要下载selenium-java的依赖项. 若使用maven管理项目,则在.pom文件中加入如下依赖项: <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.53.0</version> </dep

第二次课程实验报告

2019春第二次课程设计报告 一.实验项目名称:众所周知的经典小游戏“贪吃蛇”. 二.实验项目功能描述:控制小蛇移动吃到界面中的食物,吃到食物能增长小蛇长度.但是碰到自身或墙壁会死亡. 三.项目模块结构介绍; 四.实现界面展示: 五.代码托管链接:https://gitee.com/jay101/barce 六.实验总结:自己打出来的代码还是放心点啊,书上的代码有些地方没大写导致编译错误,游戏代码打起来比做作业要有动力一点点,毕竟可以玩一下,哈哈哈. 原文地址:https://www.cnblo

20135130实验三报告

实验三报告 北京电子科技学院(BESTI) 实     验    报     告 课程:Java 班级: 1351    姓名:王川东  学号:20135130 成绩:              指导教师:娄嘉鹏    实验日期:2015.5.8 实验密级:          预习程度:          实验时间:15:30~18:00 仪器组次:20         必修/选修:选修      实验序号:02 实验名称:敏捷开发与XP实践 实验仪器: 名称 型号 数量 计算机 lenovo

20145301《Java程序设计》实验二报告:Java面向对象程序设计

20145301<Java程序设计>实验二报告:Java面向对象程序设计 课程:Java程序设计 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容: 使用TDD的方式设计关实现复数类Complex 程序设计思路: 需求分析: 复数运算需要分:实部和虚部. 需要运行四则运算,即加.减.乘.除四种运算.  需要用户有输入,所以调用了Scanner实例,i

20172330 2017-2018-2 《程序设计与数据结构》实验一报告

20172330 2017-2018-2 <程序设计与数据结构>实验x报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李楠 学号:20172330 实验教师:王志强 实验日期:2018年3月21日 必修/选修: 必修 1.实验内容 进行PP2.5,PP3.3,PP3.5,PP3.8,的编译 关于安装调试IDEA,JDK: 实验过程及结果 刚开始是在网上下载的IDEA,然后老师说先要弄jdk,然后就通过U盘复制别已经下好的jdk拷贝到电脑上,按照娄老师的那篇博客一步步安

20172323 2017-2018-2 《程序设计与数据结构》实验1报告

20172323 2017-2018-2 <程序设计与数据结构>实验1报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王禹涵 学号:20172323 实验教师:王志强 实验日期:2018年3月21日 必修/选修: 必修 1.实验内容 1.学习Java开发环境的熟悉(Linux + Eclipse)和Intellj IDEA 简易教程 2.练习(通过命令行和IDEA两种方式实现)换成前两周项目内容: 3.练习实验项目PP2.5,PP3.3,PP3.5,PP3.8, 实验

20172325 2017-2018-2 《程序设计与数据结构》实验一报告

---恢复内容开始--- 20172325 2017-2018-2 <程序设计与数据结构>实验一报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 邓煜坤 学号:20172325 实验教师:王志强 实验日期:2018年3月21日 必修/选修: 必修 一.实验内容 1.java开发环境的熟悉以及典型例题的实验: 2.IDEA以及JDK的安装和调试 二.实验过程及结果 关于习题PP3.3.PP3.5和PP3.8的联系,首先是对照课本熟悉知识点,之后进行多次尝试,体会做中学,对

20172329 2017-2018-2 《程序设计与数据结构》实验二报告

20172329 2017-2018-2 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年4月21日 必修/选修: 必修 1.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 完成实验. 2. 实验过程及结果 一.理解内容 首先,我根据老师所给的几篇博客中大致了解了什么是TDD测试

2017-2018-2 《程序设计与数据结构》实验三报告

学号 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 康皓越 学号:20172326 实验教师:王志强 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 代码规范 协同测试 重构 密码学应用 2. 实验过程及结果 代码规范 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以standardcode作为使用代码规范的例子 public class CodeStandard { public st

20172306 《程序设计与数据结构》实验四报告

20172306<程序设计与数据结构>实验四报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 刘辰 学号:20172306 实验教师:王志强 助教:刘伟康和张旭升 实验日期:2018年5月31日 必修/选修: 必修 1.实验内容 (1)Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblogs.com/roc