zoukankan      html  css  js  c++  java
  • 软件测试技术实验二

    Selenium上机实验

    实验要求:

    1、安装SeleniumIDE插件

    2、学会使用SeleniumIDE录制脚本和导出脚本

    3、访问http://121.193.130.195:8080/使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该同学的git地址。

    4、编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系是否正确。

    5、将测试代码提交到github上。

    实验步骤:

    1、安装SeleniumIDE插件

    在火狐浏览器中,打开菜单-附加组件,在获取附加组件中搜索SeleniumIDE,在众多搜索结果当中选择Selenium IDE,图标如图所示:

    安装之后,重启火狐浏览器,在工具可以看到SeleniumIDE的按钮,表示安装成功。

    2、学会使用SeleniumIDE录制脚本和导出脚本

    点击工具,打击SeleniumIDE按钮,启动SeleniumIDE插件,启动界面如图:

    base url:指的是你当前录制时的开始连接地址。

    Test case:这里就是你的测试用例。

    右侧的中间显示的就是全部命令内容

    底部就是在运行过程中会出现的结果,异常等显示。

    右上角的红色圆,空心的时候表示的正在录制,实心表示录制结束

    3、访问http://121.193.130.195:8080/使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该同学的git地址。

    这里使用SeleniumIDE录制访问过程,访问之前打开SeleniumIDE插件,开始录制。

    在浏览器中输入网址访问,输入用户名和密码进行登录,SeleniumIDE记录了这一过程:

    点击绿色三角按钮,可以进行回放操作。而且可以导出录制脚本。

    4、编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系是否正确。

    准备工作:火狐浏览器版本与Selenium Java版本的兼容问题,是实验成功的关键因素。

    这里建议:火狐浏览器版本:43.0.1         Selenium Java版本:2.53.0

    (火狐浏览器版本在帮助-关于Firefox中可以查看) 

    (1)下载Selenium Java 2.53.0版本,并在Eclipse中导入。

    下载地址:http://selenium-release.storage.googleapis.com/index.html?path=2.53/。下载之后解压,得到如下目录结构:

    然后把上面解压出来的文件拷到新建的project目录下,目录结构如下图:

    (2)添加build path,项目目录右键-->Build Path--> config build path-->Java Build Path-->Libraries-->Add JARs。把libs文件夹下的jar包全部添加上,再添加selenium-java-2.53.0.jar和selenium-java-2.53.0-srcs.jar。

    添加完之后目录结构如上图,多了引用的库,这里就是上面那一步添加进去的jar包。

    (3)明确实验目的,编写代码。

         本次实验,测试inputgit.csv表格中的学号和git地址的对应关系是否正确。我们以网站http://121.193.130.195:8080/中的信息为标准,一一检查表格中每个人的信息是否准确。

         所以,根据实验目的,可以知道我们的主要工作分为三步:

         1、读取inputgit.csv表格中的数据并且存储在变量当中;

        (在读写CSV文件是大家可能到会有这样的纠结:到底是用第三方的jar包,还是自己写个类呢?如果用第三方的jar包,网上的资源有的特别大,可能就是个几百K的程序,却要附带一个和自己差不多大的jar包,得不偿失。如果自己写的话,又很难完美的处理各种异常。不过有一个特别好用的第三方jar包,只有14K,完美的解决了这个问题。下载地址:http://sourceforge.net/projects/javacsv/files/。导入方法与之前一致。)

        2、使用SeleniumIDE自动登录网站查询,将查询结果保存;

        3、比较表格中的数据和网站查询出的数据,检查是否一致。

        代码如下:

     1 package test;
     2 
     3  import java.io.IOException;
     4 import java.nio.charset.Charset;
     5 
     6 import org.openqa.selenium.By;
     7 import org.openqa.selenium.WebDriver;
     8 import org.openqa.selenium.WebElement;
     9 import org.openqa.selenium.firefox.*;
    10 import com.csvreader.CsvReader;
    11 
    12 public class Test {
    13     
    14 public static void main(String[] args) throws IOException {
    15                              
    16         //生成CsvReader对象,以,为分隔符,GBK编码方式
    17         CsvReader r = new CsvReader("E://学习资料//软件测试//上机实验//实验二//inputgit.csv", ',',Charset.forName("GBK"));
    18         //读取表头
    19         r.readHeaders();
    20         //逐条读取记录,直至读完
    21         while (r.readRecord()) {                        
    22         //读取一条记录
    23         r.readRecord();             
    24         //按列名读取这条记录的值
    25         String number_csv = r.get("学号");              
    26         String name_csv = r.get("姓名");
    27         String address_csv = r.get("github地址");
    28         String pwd_csv = number_csv.substring(number_csv.length()-6,number_csv.length());
    29                  
    30         //打开火狐浏览器
    31         System.setProperty("webdriver.firefox.bin", "D:/火狐浏览器/firefox.exe"); 
    32         WebDriver driver = new FirefoxDriver();
    33        //访问给定网址
    34        driver.get("http://121.193.130.195:8080/");               
    35        driver.manage().window().maximize();
    36       //输入用户名
    37        WebElement input_name = driver.findElement(By.id("name"));
    38        input_name.clear();
    39        input_name.sendKeys(number_csv);
    40       //输入密码
    41        WebElement input_pwd = driver.findElement(By.id("pwd"));
    42        input_pwd.clear();
    43        input_pwd.sendKeys(pwd_csv);
    44       //点击登录按钮
    45        WebElement btn = driver.findElement(By.id("submit"));
    46        btn.click();
    47      //登录成功之后,获得当前页面的用户信息
    48        String info_web = driver.findElement(By.xpath("//tbody[@id='table-main']")).getText();
    49        String name_web = info_web.substring(info_web.indexOf("名") + 2, info_web.indexOf("学") - 1);
    50        String number_web = info_web.substring(info_web.indexOf("号") + 2, info_web.indexOf("G") - 1);
    51        String address_web = info_web.substring(info_web.indexOf("址") + 2);
    52     //比较查询信息            
    53        if(name_csv.equals(name_web)&&number_csv.equals(number_web)&&address_csv.equals(address_web))
    54         {
    55                 System.out.println("用户信息一致.");
    56         }
    57       else
    58         {
    59                 System.out.println(name_web+"的信息不一致.");
    60         }
    61         driver.close();
    62          }
    63          r.close();
    64               
    65 }
    66     
    67 }

    表格中的数据较多,我们以10条数据查询为例,运行结果如下:

  • 相关阅读:
    使用 Eclipse PhoneGap 构建 Android 应用程序入门
    SSAS系列——【01】准备知识
    HDU 5763 Another Meaning 2016多校第四场1001 KMP+DP
    HDU 5794 A Simple Nim 2016多校第六场1003
    HDU 5758 Explorer Bo 2016多校第三场1007 树上DP
    HDU 5755 Gambler Bo 2016多校第三场1004
    HDU 5754 Life Winner Bo 2016多校第三场1003
    vue2.0引入腾讯地图
    MVC Razor模板引擎输出HTML或者生产HTML文件
    慎把“DataContext”静态化 或则单例
  • 原文地址:https://www.cnblogs.com/liuleilei/p/6610703.html
Copyright © 2011-2022 走看看