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(); } }
最后输出二十行信息一致,符合预期。
所有评论(0)