lab 2: Selenium上机实验

本次实验要求如下:

1、安装SeleniumIDE插件

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

3、访问目标网址使用学号登录系统,进入系统后可以看到该同学的git地址。

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

 

所以操作如下:

1.安装SeleniumIDE插件

打开火狐浏览器,单击菜单,选择附加组件。

 

在获取附加组件中搜索SeleniumIDE,

在众多搜索结果当中选择Selenium IDE:

 然后重启浏览器,在工具里面可以找到安装完的插件,现在就可以打开了。

 

2、学会使用SeleniumIDE录制脚本和导出脚本,并且访问目标网址使用学号登录系统

首先登陆目标网站,然后输入账号和密码,发现已经录制下来了。

点击绿色的按钮就可以导出了。

 

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

这里需要做一些准备。我先是用的51版本的火狐浏览器,发现与jar包不兼容,运行总是出错。 问了一些同学,按照他们的方法,下载了43.0.1版本的火狐浏览器,又去下载了2.53.0版本的selenium-java压缩包。

解压完成后,新建一个空白项目。导入解压出来的jar文件。

 

这里说一下,这个javacsv.jar是为了方便读取.csv格式的文件中的数据而另外下载的jar包。

导入完这些jar包,还要添加build path。右键点击项目,选择build path,选最后一个,然后添加所有刚才解压的jar包,如下:

然后就可以写代码了。

代码如下:

package test2_3;

import java.io.IOException;
import java.nio.charset.Charset;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.*;
import com.csvreader.CsvReader;


public class Test2 {
	public static void main(String[] args) throws IOException {
        CsvReader r = new CsvReader("D:/学习库/大学课程/大三下学期/软件项目测试//inputgit.csv", ',',Charset.forName("GBK"));
        r.readHeaders();
        //循环读取数据
        while (r.readRecord()) {                        
        String number_csv = r.get("学号");              
        String name_csv = r.get("姓名");
        String address_csv = r.get("github地址");
        String pwd_csv = number_csv.substring(number_csv.length()-6,number_csv.length());

        System.setProperty("webdriver.firefox.bin", "D:/学习库/大学课程/大三下学期/软件项目测试/浏览器43.0.1/firefox.exe"); 
        WebDriver driver = new FirefoxDriver();
       //输入网址
       driver.get("http://121.193.130.195:8080/");               
       driver.manage().window().maximize();
      //输入信息
       WebElement input_name = driver.findElement(By.id("name"));
       input_name.clear();
       input_name.sendKeys(number_csv);
       WebElement input_pwd = driver.findElement(By.id("pwd"));
       input_pwd.clear();
       input_pwd.sendKeys(pwd_csv);
       WebElement btn = driver.findElement(By.id("submit"));
       btn.click();
     //获取当前页面信息
       String info_web = driver.findElement(By.xpath("//tbody[@id='table-main']")).getText();
       String name_web = info_web.substring(info_web.indexOf("名") + 2, info_web.indexOf("学") - 1);
       String number_web = info_web.substring(info_web.indexOf("号") + 2, info_web.indexOf("G") - 1);
       String address_web = info_web.substring(info_web.indexOf("址") + 2);    
       if(name_csv.equals(name_web)&&number_csv.equals(number_web)&&address_csv.equals(address_web))
        {
                System.out.println(number_web+"用户信息一致.");
        }
      else
        {
                System.out.println(name_web+"的信息不一致.");
        }
        driver.close();
         }
         r.close();
}
}

因为我调试了好多次程序,这是我的第三个版本,所以名字是test2_3。

数据比较多,运行的比较慢,部分运行结果截图如下:

可以看出,绝大部分的数据是一致的。但是也有一些个别的同学,由于名字中有繁体字或者生僻字,识别失败。比如下面的:

以上就是本次实验结果。实验成功。

 

posted @ 2017-03-26 19:49  蟋_蟀  阅读(202)  评论(0编辑  收藏  举报