selenium RC优化代码2

一、下拉列表控件的字段输入如何在代码中实现?
方法一:selenium.select("id=scope","label=所有项目");//第一个参数为字段属性值,第2个参数为下拉列表中要选择的值
方法二:selenium.select("id=scope","index=1");//通过下拉列表中值的序号来识别要选择的值,序号从0开始

二、数据验证
方法一:通过单元格来获取数据验证
String actual = selenium.getTable("id=dataTable.1.1");//获取表格控件中第2行第2列的数据,表格数组也是从0开始
System.out.println(actual);//打印出来验证下
方法二:通过数据库来获取数据验证(java连接数据库的jar包要导进来)
1、导入jar包——项目属性--java build path--add jars--选择数据库连接jar包


2、将sql语句赋值给字符串
String sql= "select noticeid from notice order by noticeid desc limit 0,1";
int maxId = this.getMaxId(sql);//调用下面的公用方法
this.waitForElement("//tr[@id='dtrow_"+maxId+"']/td[2]");


三、java的连接mysql数据库代码(可作为公用方法)

//使用JDBC查询表的最后一个ID号

public int getMaxId(String sql){
String driverClassName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/dbname?user=root&password=***&useUnicode=true&characterEncoding=UTF8";
Connection conn =null; //声明一个对象,用于创建java与数据库的连接
int maxId = 0;    //获取数据的最大值
try{
Class.forName(driverClassName).newInstance();
conn=DriverManager.getConnection(url);
Statement stmt = conn.createStatement(); //定义一个执行sql的语句的对象    
ResultSet rs =stmt.executeQuery(sql);    //执行查询语句,返回一个查询结果集
rs.next();    //让指针指向结果集的第一行
maxId =rs.getInt(1);
} catch(Exception e){
e.printStackTrace();
}
return maxId;
}

 

四、遇到的问题:

1、
在使用上面的链接mysql数据的代码后,语句有错误,比如:DriverManager cannot be resloved,此时导入java.sql类即可

import java.sql.*;

2、selenium启动谷歌浏览器失败,修改代码如下:

selenium = new DefaultSelenium("localhost", 4444, "*googlechrome C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "http://localhost/");

目的是写出谷歌浏览器的绝对路径,让程序找到它,执行它。

posted @ 2017-03-10 14:26  老海绵  阅读(158)  评论(0编辑  收藏  举报