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

  • 相关阅读:
    20145339《网络对抗》后门原理与实践
    20145339顿珠达杰 《网络对抗技术》 逆向与Bof基础
    20145339《信息安全系统设计基础》课程总结
    20145339《信息安全系统设计基础》第14周学习总结
    20145339《信息安全系统设计基础》第12周学习总结
    国考准备
    20145339《信息安全系统设计基础》第十一周学习总结
    git安装
    20145339顿珠《信息安全系统设计基础》第十周学习总结
    第十五周学习总结
  • 原文地址:https://www.cnblogs.com/eraserNut/p/5419704.html
Copyright © 2011-2022 走看看