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

  • 相关阅读:
    mongodb
    python中读取文件的read、readline、readlines方法区别
    uva 129 Krypton Factor
    hdu 4734
    hdu 5182 PM2.5
    hdu 5179 beautiful number
    hdu 5178 pairs
    hdu 5176 The Experience of Love
    hdu 5175 Misaki's Kiss again
    hdu 5174 Ferries Wheel
  • 原文地址:https://www.cnblogs.com/eraserNut/p/5419704.html
Copyright © 2011-2022 走看看