zoukankan      html  css  js  c++  java
  • [软件测试基础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实现简单的自动化测试,其中包括测试的录制,编写及运行,让我们更加深入的了解了测试的方法和测试的重要性。

  • 相关阅读:
    蓝桥杯 猴子分苹果
    蓝桥杯 王、后传说 dfs
    蓝桥杯 C*++ Calculations 贪心
    python random模块 分类: python python Module python基础学习 2013-06-26 12:06 383人阅读 评论(0) 收藏
    去除列表中不重复的元素 分类: python 小练习 2013-06-25 14:59 245人阅读 评论(0) 收藏
    去除文件每行的第一个字符 分类: python 2013-06-24 15:03 414人阅读 评论(0) 收藏
    用户输入内容长度限制的异常 分类: python异常 2013-06-24 10:48 335人阅读 评论(0) 收藏
    使用python下载文件 分类: python python下载 2013-06-22 16:58 277人阅读 评论(0) 收藏
    猜数字 分类: python 小练习 python基础学习 2013-06-20 15:16 160人阅读 评论(0) 收藏
    Linux系统中ls命令用法详解 分类: ubuntu 2013-06-20 14:29 261人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/eraserNut/p/5419704.html
Copyright © 2011-2022 走看看