Selenium上机实验说明

1、安装SeleniumIDE插件

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

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

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

集合资源地址已上传至百度网盘(包含firefox43.0.1,javacsv,Selenium2.53):https://pan.baidu.com/s/1sljPxr3

本次实验比较简单,说一些注意事项。

1、建议下载:火狐浏览器版本:43.0.1    Selenium Java版本:2.53.0       //别整最新版,最新版很多东西没跟上

2、确保火狐浏览器不自动更新。  //自动更新坑死人。在火狐浏览器工具——选项——高级——更新里面设置

3、SeleniumIDE装完如果标签栏没显示图标可以去上方导航栏中工具一栏找一找。

4、获取网页元素的id或者xpath可以用SeleniumIDE的select选取。方法是开始录制后随便点一条操作点下方select然后选中对应元素。  //用firebug插件也行。查看源代码有时候不方便找到对应元素

5、javacsv简单操作见http://www.cnblogs.com/mbigger/archive/2013/01/04/2844423.html

前三步不说了,怎么装百度都很好查。说一下第四步

1、在项目下导入jar包(右键-build path-configure-java build path-library-add external jars),把资源里的jar包全选上。

2、学习Selenium2.0中文帮助文档的基础。

3、写代码

代码:

package test;

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 Test { public static void main(String[] args) throws IOException { //前期环境配置
CsvReader r = new CsvReader("E://大三下学期学习//软件测试技术//inputgit.csv", ',',Charset.forName("GBK"));//设置csv表路径并以GBK格式读取
System.setProperty("webdriver.firefox.bin", "D:/Firefox/firefox.exe"); //配置到火狐安装路径下的exe文件
WebDriver driver = new FirefoxDriver(); //打开火狐浏览器
final int TestCaseNumber = 20; //设置测试数量
int i = 0; //读取csv数据表表头
r.readHeaders();
//逐条读取记录,直至读到数量为止。如果不加判断则为读完
while (r.readRecord() && i<TestCaseNumber) {
//按列名读取这条记录的值
String csvName = r.get("姓名");
String csvStudentID = r.get("学号");
String csvStudentPwd = r.get("学号").substring(4, 10); //密码为后六位
String csvGithubURL = r.get("github地址"); //读取完这条记录的信息后在网页中输入
driver.get("http://121.193.130.195:8080/");//跳转到定位网页
WebElement element_name = driver.findElement(By.id("name")); //获取学号输入框的元素
element_name.clear();//清空输入框里的内容
element_name.sendKeys(csvStudentID); //在学号这栏输入csv表获得到的学号
WebElement element_pwd = driver.findElement(By.id("pwd")); //获取密码输入框的元素
element_pwd.clear();
element_pwd.sendKeys(csvStudentPwd);
WebElement element_submit = driver.findElement(By.id("submit")); //获取提交按钮
element_submit.click(); //点击提交按钮 //获取登录后网页上显示的名字、学号、github地址的网页元素
WebElement webName =driver.findElement(By.xpath("//tbody[@id='table-main']/tr/td[2]"));
WebElement webStudentID =driver.findElement(By.xpath("//tbody[@id='table-main']/tr[2]/td[2]"));
WebElement webGithubURL =driver.findElement(By.xpath("//tbody[@id='table-main']/tr[3]/td[2]")); //如果csv表格里的内容和网页上对应元素的内容相等,则输出信息一致,否则输出信息不一致(注意java判断字符串相等要用.equals函数而不能用==)
if ((csvName.equals(webName.getText())) && (csvStudentID.equals(webStudentID.getText()))
&& (csvGithubURL.equals(webGithubURL.getText())))
System.out.println("信息一致");
else
System.out.println(csvStudentID + "信息不一致"); i++;
}
//循环结束后关闭表和浏览器
r.close();
driver.close(); } }

最后输出二十行信息一致,符合预期。

软件测试技术lab2——Selenium上机实验的更多相关文章

  1. LAB2 软件测试 Selenium上机实验 2017

    1.安装SeleniumIDE插件 打开Firefox——>菜单栏——>附加组件——>获取附加组件——>查看更多附加组件——>搜索框输入SeleniumIDE并查找——& ...

  2. Selenium上机实验

    1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问https://psych.liebes.top/st使用学号登录系统(账户名为学号,密码为学号后6位 ...

  3. lingo运筹学上机实验指导

    <运筹学上机实验指导>分为两个部分,第一部分12学时,是与运筹学理论课上机同步配套的4个实验(线性规划.灵敏度分析.运输问题与指派问题.最短路问题和背包问题)的Excel.LONGO和LI ...

  4. 算法课上机实验(一个简单的GUI排序算法比较程序)

    (在家里的电脑上Linux Deepin截的图,屏幕大一点的话,deepin用着还挺不错的说) 这个应该是大二的算法课程上机实验时做的一个小程序,也是我的第一个GUI小程序,实现什么的都记不清了,只记 ...

  5. Java第一次上机实验源代码

    小学生计算题: package 第一次上机实验_; import java.util.*; public class 小学计算题 { public static void main(String[] ...

  6. oracle上机实验内容

    这是oracle实验的部分代码,我花了一中午做的. 第一次上机内容 实验目的:熟悉ORACLE11G的环境 实验内容: 第二次上机内容 实验目标:掌握oracle体系结构,掌握sqlplus的运行环境 ...

  7. 爬虫之图片懒加载技术、selenium和PhantomJS

    爬虫之图片懒加载技术.selenium和PhantomJS   图片懒加载 selenium phantomJs 谷歌无头浏览器 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http:/ ...

  8. 合肥工业大学数据结构上机实验代码与实验报告(全)github地址

    我已经将这个学期的所有数据结构上机实验的代码与报告上传到github上了,一直都有这个想法,但没抽出时间来学习git.经过上周简单的练习后,我已经基本学会运营自己的代码仓库了.所有代码都是C++写的类 ...

  9. SDN第五次上机实验

    1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解. 1.通过源码安装RYU控制器 sudo apt-get install python3-pip git clo ...

随机推荐

  1. 【BZOJ3589】动态树 树链剖分+线段树

    Description 别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你 ...

  2. 洛谷P2566 [SCOI2009]围豆豆(状压dp+计算几何)

    题面 传送门 题解 首先要解决一个问题,就是怎么判断一个点是否在多边形内部 从这个点向某一个方向做一条射线,如果这条射线和多边形的交点为奇数说明在多边形内,否则在多边形外 然而有一些特殊情况,比方说一 ...

  3. 【AT2434】JOI 公園 (JOI Park) 最短路+贪心

    题解 我的歪解 我首先想的是分治,我想二分肯定不行,因为它是没有单调性的. 我想了一下感觉它的大部分数据应该是有凸性的(例如\(y=x^2\)的函数图像),所以可以三分. 下面是我的三分代码(骗了不少 ...

  4. 3.mouseenter和mouseover事件的区别

    <html> <head> <meta charset="UTF-8"> <script src="jquery-3.3.1.j ...

  5. redis读取自增时候指定的key问题

    首先,此文章是接了如下文章写的 Spring boot redis自增编号控制 踩坑 上面这个问题解决后,公司这边功能其实已经实现了,但是考虑到一种情况,因为我们这边号的生成就是根据上面的自增编号来的 ...

  6. 20165224 陆艺杰 《Java程序设计》课程总结

    每周作业链接汇总 https://www.cnblogs.com/lyj-/p/8414278.html https://www.cnblogs.com/lyj-/p/8695018.html htt ...

  7. Android WebView的使用(用来显示网页)

    1.WebView介绍 2.URL介绍 简单说就是网址. 3.java后台代码 package com.lucky.test34webview; import android.support.v7.a ...

  8. python之函数(二)

    上一篇中我们在函数体中的写的都是打印语句,用print来输出打印结果.但是在实际使用的时候,我们并不需要将结果输出在控制台上.这时候该如何解决呢? 1. return返回值. 我们可以将函数的结果通过 ...

  9. 【算法笔记】B1013 数素数

    1013 数素数 (20 分) 令 P​i​​ 表示第 i 个素数.现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数. 输入格式: 输入在一行中给出 M 和 N, ...

  10. 关于 Gojs 你可能用到的方法 / gojs自定义 / gojs

    以下归纳如果对你有帮助的话请点下文章下面的推荐,谢谢! 1.阻止键盘事件 myDiagram.commandHandler.doKeyDown = function () { var e = myDi ...