- Maintain a constant url while defining the setup(Instantiation of DefaultSelenium class) and selenium.open(url) to avoid the Permission Denied Error.
- Add the URL under Trusted sites to avoid Permission Denied Error
- If Changing from http to https, above mentioned 2 points would be an added advantage. But its advisable to use either http or https for any instance, or else, selenium would consider this as a foreign domain access and would throw permission denied error.
- To avoid the delays and speed up the automation run, avoid Thread.sleep() and wait commands as much as possible. Instead use waitForElementPresent and alternatively use webDriver which has much more feasibility with Selenium
- For Ajax related events, Avoid using selenium.typeKeys(), Instead use the combination of selenium.type & selenium.fireEvent. This approach gives more flexibility for ajax events
- For Ajax related drop down use for loop and verifyElementPresent to synchronise the time, Instead of wait command
- If test data is enormous(Multi dimensional or Multiple data like User Details-username, userid, password, etc), avoid declaring in the class files or property files. Instead use xml files and pharse the data using SAX parser.
Selenium Testing Blog
Thursday, July 28, 2011
To avoid Errors and Improve performance of the Selenium automation (Selenium RC+Java)
To Avoid Errors and Improve the performance of the Selenium automation coding(selenium RC+Java)
Wednesday, July 27, 2011
How to fetch data from the database
There are several methods to fetch data from the Database. I have checked out my best things to program in various methods. Please check out the various ways, described below. Out of this i personally prefer DNS less connectivity, as its very easy and handy for any user.
Here goes the code:
============
JDBC-ODBC Bridge
============
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MainClass {
public static Connection getConnection() throws Exception {
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:northwind";
String username = "";
String password = "";
Class.forName(driver); // load JDBC-ODBC driver
return DriverManager.getConnection(url, username, password);
}
public static void main(String args[]) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = getConnection();
stmt = conn.createStatement();
String query = "select EmployeeID, LastName, FirstName from Employees";
rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString("EmployeeID") + " " + rs.getString("LastName") + " "
+ rs.getString("FirstName"));
}
} catch (Exception e) {
// handle the exception
e.printStackTrace();
System.err.println(e.getMessage());
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
}
JdbcOdbc Connect
============
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class JdbcConnect {
public static void main(String[] args) throws Exception {
Connection conn1 = null;
Connection conn2 = null;
Connection conn3 = null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String jdbcUrl = "jdbc:odbc:authors";
String user = "yourName";
String pwd = "mypwd";
conn1 = DriverManager.getConnection(jdbcUrl);
if (conn1 != null) {
System.out.println("Connection 1 successful!");
}
Properties prop = new Properties();
prop.put("user", user);
prop.put("password", pwd);
conn2 = DriverManager.getConnection(jdbcUrl, prop);
if (conn2 != null) {
System.out.println("Connection 2 successful!");
}
conn3 = DriverManager.getConnection(jdbcUrl, user, pwd);
if (conn3 != null) {
System.out.println("Connection 3 successful!");
}
conn1.close();
conn2.close();
conn3.close();
if (conn1.isClosed()) {
System.out.println("Connection 1 is closed");
}
if (conn2.isClosed()) {
System.out.println("Connection 2 is closed");
}
if (conn3.isClosed()) {
System.out.println("Connection 3 is closed");
}
conn1.close();
conn2.close();
conn3.close();
}
}
jdbc odbc bridge connection string
======================
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] argv) throws Exception {
String url = "jdbc:odbc:datasource";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection(url);
System.out.println("Connect to " + connection.getCatalog() + " a success!");
}
}
Simple example of JDBC-ODBC functionality
============================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String args[]) throws Exception {
String query = "SELECT Name,Description,Qty,Cost FROM Stock";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String name = rs.getString("Name");
String desc = rs.getString("Description");
int qty = rs.getInt("Qty");
float cost = rs.getFloat("Cost");
System.out.println(name + ", " + desc + "\t: " + qty + "\t@ $" + cost);
}
con.close();
}
}
Using a PreparedStatement through sun.jdbc.odbc.JdbcOdbcDriver
==========================================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PreparedStmt {
public static void main(String args[]) throws Exception {
String query = "SELECT * FROM Stock WHERE Item_Number = ?";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setInt(1, 2);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String name = rs.getString("Name");
String desc = rs.getString("Description");
int qty = rs.getInt("Qty");
float cost = rs.getFloat("Cost");
System.out.println(name + ", " + desc + "\t: " + qty + "\t@ $" + cost);
}
}
}
Creating and using a stored procedure with sun.jdbc.odbc.JdbcOdbcDriver
==============================================
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CallableStmt {
public static void main(String args[]) throws Exception {
String storedProc = "create procedure SHOW_ORDERS_BY_STATE @State CHAR (2) as "
+ "select c.Last_Name+', '+c.First_Name AS Name,o.Order_Number "
+ "from CUSTOMERS c, ORDERS o where c.Customer_Number = o.Customer_Number "
+ "AND c.State = @State order by c.Last_Name;";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Customers");
Statement stmt = con.createStatement();
stmt.executeUpdate(storedProc);
CallableStatement cs = con.prepareCall("{call SHOW_ORDERS_BY_STATE(?)}");
cs.setString(1, "NJ");
ResultSet rs = cs.executeQuery();
while (rs.next()) {
String name = rs.getString("Name");
int orderNo = rs.getInt("Order_Number");
System.out.println(name + ": " + orderNo);
}
}
}
Retrieving a ResultSet from JdbcOdbcDriver
===========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
String query = "SELECT Name,Description,Qty,Cost FROM Stock";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.print(rs.getString("Name") + "\t");
System.out.print(rs.getString("Description") + "\t");
System.out.print(rs.getInt("Qty") + "\t");
System.out.println(rs.getFloat("Cost"));
}
}
}
Getting an output parameter from a stored procedure
=================================
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class CheckPassword {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Customers", "user", "pwd");
CallableStatement cs = con.prepareCall("{call CHECK_USER_NAME(?,?,?)}");
cs.setString(1, "C");
cs.setString(2, "V");
cs.registerOutParameter(3, java.sql.Types.VARCHAR);
cs.executeUpdate();
System.out.println(cs.getString(3));
con.close();
}
}
Opening an updatable ResultSet
====================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc: Contacts");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT Name,Description,Qty,Cost FROM Stock");
ResultSetMetaData md = rs.getMetaData();
if (rs.getConcurrency() == ResultSet.CONCUR_UPDATABLE)
System.out.println("UPDATABLE");
else
System.out.println("READ_ONLY");
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
rs.updateString("Street", "123 Main");
rs.updateRow();
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
}
}
Using ResultSetMetaData from jdbc:odbc
==========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from employee");
ResultSetMetaData md = rs.getMetaData();
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
}
}
Creating a table using JdbcOdbcDriver
=========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class TableMaker {
static String jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
static String dbName = "Contacts";
static String url = "jdbc:odbc:";
static String SQLCreate = "CREATE TABLE CONTACT_INFO ("
+ "CONTACT_ID INTEGER NOT NULL PRIMARY KEY,"
+ "ZIP VARCHAR(10) NOT NULL" + ");";
public static void main(String[] args) throws Exception {
Class.forName(jdbcDriver);
url += dbName;
Connection con = null;
Statement stmt = null;
con = DriverManager.getConnection(url);
stmt = con.createStatement();
stmt.execute(SQLCreate);
con.close();
if (con != null) {
con.close();
}
if (stmt != null) {
stmt.close();
}
}
}
Using INSERT with JdbcOdbcDriver
=======================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class DataInserter {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.registerDriver(new JdbcOdbcDriver());
String SQLCommand = "INSERT INTO CONTACT_INFO "
+ "(First_Name,MI,Last_Name,Street,City,State,Zip) " + "VALUES "
+ "('Michael','J','Corleone','86 Horsehead Blvd','NY','NY','12345');";
String url = "jdbc:odbc:Contacts";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
stmt.execute(SQLCommand);
con.close();
}
}
Using UPDATE with JdbcOdbcDriver
=======================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class DataUpdater {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.registerDriver(new JdbcOdbcDriver());
String url = "jdbc:odbc:Contacts";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
String SQLCommand = "UPDATE CONTACT_INFO " + "SET STREET = '58 Broadway', ZIP = '10008' "
+ "WHERE First_Name = 'Michael' AND " + "Last_Name ='Corleone';";
stmt.execute(SQLCommand);
con.close();
}
}
Creating and dropping indexes
===================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintIndexedResultSet {
public static void main(String args[]) throws Exception {
String query = "SELECT STATE, COUNT(STATE) FROM MEMBER_PROFILES GROUP BY STATE";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Members");
Statement stmt = con.createStatement();
stmt.executeUpdate("CREATE INDEX STATE_INDEX ON MEMBER_PROFILES(STATE)");
java.util.Date startTime = new java.util.Date();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData md = rs.getMetaData();
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
java.util.Date endTime = new java.util.Date();
long elapsedTime = endTime.getTime() - startTime.getTime();
System.out.println("Elapsed time: " + elapsedTime);
stmt.executeUpdate("DROP INDEX MEMBER_PROFILES.STATE_INDEX");
}
}
Using DSN-less connection
=================
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] argv) throws Exception {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myDB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/data.MDB";
Connection conn = DriverManager.getConnection(myDB, "UserName", "Password");
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString("EmployeeID") + " " + rs.getString("LastName") + " "
+ rs.getString("FirstName"));
}
}catch (Exception e) {
// handle the exception
e.printStackTrace();
System.err.println(e.getMessage());
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
Here goes the code:
============
JDBC-ODBC Bridge
============
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MainClass {
public static Connection getConnection() throws Exception {
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:northwind";
String username = "";
String password = "";
Class.forName(driver); // load JDBC-ODBC driver
return DriverManager.getConnection(url, username, password);
}
public static void main(String args[]) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = getConnection();
stmt = conn.createStatement();
String query = "select EmployeeID, LastName, FirstName from Employees";
rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString("EmployeeID") + " " + rs.getString("LastName") + " "
+ rs.getString("FirstName"));
}
} catch (Exception e) {
// handle the exception
e.printStackTrace();
System.err.println(e.getMessage());
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
}
JdbcOdbc Connect
============
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class JdbcConnect {
public static void main(String[] args) throws Exception {
Connection conn1 = null;
Connection conn2 = null;
Connection conn3 = null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String jdbcUrl = "jdbc:odbc:authors";
String user = "yourName";
String pwd = "mypwd";
conn1 = DriverManager.getConnection(jdbcUrl);
if (conn1 != null) {
System.out.println("Connection 1 successful!");
}
Properties prop = new Properties();
prop.put("user", user);
prop.put("password", pwd);
conn2 = DriverManager.getConnection(jdbcUrl, prop);
if (conn2 != null) {
System.out.println("Connection 2 successful!");
}
conn3 = DriverManager.getConnection(jdbcUrl, user, pwd);
if (conn3 != null) {
System.out.println("Connection 3 successful!");
}
conn1.close();
conn2.close();
conn3.close();
if (conn1.isClosed()) {
System.out.println("Connection 1 is closed");
}
if (conn2.isClosed()) {
System.out.println("Connection 2 is closed");
}
if (conn3.isClosed()) {
System.out.println("Connection 3 is closed");
}
conn1.close();
conn2.close();
conn3.close();
}
}
jdbc odbc bridge connection string
======================
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] argv) throws Exception {
String url = "jdbc:odbc:datasource";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection(url);
System.out.println("Connect to " + connection.getCatalog() + " a success!");
}
}
Simple example of JDBC-ODBC functionality
============================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String args[]) throws Exception {
String query = "SELECT Name,Description,Qty,Cost FROM Stock";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String name = rs.getString("Name");
String desc = rs.getString("Description");
int qty = rs.getInt("Qty");
float cost = rs.getFloat("Cost");
System.out.println(name + ", " + desc + "\t: " + qty + "\t@ $" + cost);
}
con.close();
}
}
Using a PreparedStatement through sun.jdbc.odbc.JdbcOdbcDriver
==========================================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PreparedStmt {
public static void main(String args[]) throws Exception {
String query = "SELECT * FROM Stock WHERE Item_Number = ?";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setInt(1, 2);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String name = rs.getString("Name");
String desc = rs.getString("Description");
int qty = rs.getInt("Qty");
float cost = rs.getFloat("Cost");
System.out.println(name + ", " + desc + "\t: " + qty + "\t@ $" + cost);
}
}
}
Creating and using a stored procedure with sun.jdbc.odbc.JdbcOdbcDriver
==============================================
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CallableStmt {
public static void main(String args[]) throws Exception {
String storedProc = "create procedure SHOW_ORDERS_BY_STATE @State CHAR (2) as "
+ "select c.Last_Name+', '+c.First_Name AS Name,o.Order_Number "
+ "from CUSTOMERS c, ORDERS o where c.Customer_Number = o.Customer_Number "
+ "AND c.State = @State order by c.Last_Name;";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Customers");
Statement stmt = con.createStatement();
stmt.executeUpdate(storedProc);
CallableStatement cs = con.prepareCall("{call SHOW_ORDERS_BY_STATE(?)}");
cs.setString(1, "NJ");
ResultSet rs = cs.executeQuery();
while (rs.next()) {
String name = rs.getString("Name");
int orderNo = rs.getInt("Order_Number");
System.out.println(name + ": " + orderNo);
}
}
}
Retrieving a ResultSet from JdbcOdbcDriver
===========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
String query = "SELECT Name,Description,Qty,Cost FROM Stock";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.print(rs.getString("Name") + "\t");
System.out.print(rs.getString("Description") + "\t");
System.out.print(rs.getInt("Qty") + "\t");
System.out.println(rs.getFloat("Cost"));
}
}
}
Getting an output parameter from a stored procedure
=================================
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class CheckPassword {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Customers", "user", "pwd");
CallableStatement cs = con.prepareCall("{call CHECK_USER_NAME(?,?,?)}");
cs.setString(1, "C");
cs.setString(2, "V");
cs.registerOutParameter(3, java.sql.Types.VARCHAR);
cs.executeUpdate();
System.out.println(cs.getString(3));
con.close();
}
}
Opening an updatable ResultSet
====================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc: Contacts");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT Name,Description,Qty,Cost FROM Stock");
ResultSetMetaData md = rs.getMetaData();
if (rs.getConcurrency() == ResultSet.CONCUR_UPDATABLE)
System.out.println("UPDATABLE");
else
System.out.println("READ_ONLY");
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
rs.updateString("Street", "123 Main");
rs.updateRow();
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
}
}
Using ResultSetMetaData from jdbc:odbc
==========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintResultSet {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Inventory");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from employee");
ResultSetMetaData md = rs.getMetaData();
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
}
}
Creating a table using JdbcOdbcDriver
=========================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class TableMaker {
static String jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
static String dbName = "Contacts";
static String url = "jdbc:odbc:";
static String SQLCreate = "CREATE TABLE CONTACT_INFO ("
+ "CONTACT_ID INTEGER NOT NULL PRIMARY KEY,"
+ "ZIP VARCHAR(10) NOT NULL" + ");";
public static void main(String[] args) throws Exception {
Class.forName(jdbcDriver);
url += dbName;
Connection con = null;
Statement stmt = null;
con = DriverManager.getConnection(url);
stmt = con.createStatement();
stmt.execute(SQLCreate);
con.close();
if (con != null) {
con.close();
}
if (stmt != null) {
stmt.close();
}
}
}
Using INSERT with JdbcOdbcDriver
=======================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class DataInserter {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.registerDriver(new JdbcOdbcDriver());
String SQLCommand = "INSERT INTO CONTACT_INFO "
+ "(First_Name,MI,Last_Name,Street,City,State,Zip) " + "VALUES "
+ "('Michael','J','Corleone','86 Horsehead Blvd','NY','NY','12345');";
String url = "jdbc:odbc:Contacts";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
stmt.execute(SQLCommand);
con.close();
}
}
Using UPDATE with JdbcOdbcDriver
=======================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import sun.jdbc.odbc.JdbcOdbcDriver;
public class DataUpdater {
public static void main(String args[]) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
DriverManager.registerDriver(new JdbcOdbcDriver());
String url = "jdbc:odbc:Contacts";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
String SQLCommand = "UPDATE CONTACT_INFO " + "SET STREET = '58 Broadway', ZIP = '10008' "
+ "WHERE First_Name = 'Michael' AND " + "Last_Name ='Corleone';";
stmt.execute(SQLCommand);
con.close();
}
}
Creating and dropping indexes
===================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class PrintIndexedResultSet {
public static void main(String args[]) throws Exception {
String query = "SELECT STATE, COUNT(STATE) FROM MEMBER_PROFILES GROUP BY STATE";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Members");
Statement stmt = con.createStatement();
stmt.executeUpdate("CREATE INDEX STATE_INDEX ON MEMBER_PROFILES(STATE)");
java.util.Date startTime = new java.util.Date();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData md = rs.getMetaData();
int nColumns = md.getColumnCount();
for (int i = 1; i <= nColumns; i++) {
System.out.print(md.getColumnLabel(i) + ((i == nColumns) ? "\n" : "\t"));
}
while (rs.next()) {
for (int i = 1; i <= nColumns; i++) {
System.out.print(rs.getString(i) + ((i == nColumns) ? "\n" : "\t"));
}
}
java.util.Date endTime = new java.util.Date();
long elapsedTime = endTime.getTime() - startTime.getTime();
System.out.println("Elapsed time: " + elapsedTime);
stmt.executeUpdate("DROP INDEX MEMBER_PROFILES.STATE_INDEX");
}
}
Using DSN-less connection
=================
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] argv) throws Exception {
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myDB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/data.MDB";
Connection conn = DriverManager.getConnection(myDB, "UserName", "Password");
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString("EmployeeID") + " " + rs.getString("LastName") + " "
+ rs.getString("FirstName"));
}
}catch (Exception e) {
// handle the exception
e.printStackTrace();
System.err.println(e.getMessage());
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (Exception ee) {
ee.printStackTrace();
}
}
}
Wednesday, July 20, 2011
How to start selenium server using java
Most of the time people ask me whether we can integrate a code using java so that, starting selenium server from command prompt can be avoided. I have been giving this piece of code for the users.
Procedure:
=========
===============
Creating a .bat file:
==============
Creating a java class file to call he above created .bat file:
========================================
package com
import org.apache.log4j.Logger;
/**
* @author : ramesh
* @purpose : This class will start the Selenium Server automatically.
* @usage : Instantiate this class to start the Selenium Server
*
*/
public class StartSeleniumServer
{
Logger log = Logger.getLogger(StartSeleniumServer.class);
public void startServer() throws Exception
{
Runtime run =Runtime.getRuntime();
try
{
run.exec("cmd.exe /c start sel-start.bat");
Thread.sleep(5000);
log.info("Started the Selenium Server successfully");
}
catch (Exception e)
{
log.error("Could not start the Server Server Due to the following reason.",e);
}
}
}
Yuppie, now you are set to go.
Procedure:
=========
- Create a bat file as mentioned below and place it inside the project folder
- Create a java class as mentioned below and invoke the windows command prompt and call the above created bat
- Now you can continue to start your selenium test case execution
===============
Creating a .bat file:
==============
- Open a notepad or any editor and Type the following without double qoutes "java -jar selenium-server-standalone-2.0b2.jar -interactive -port 4444". Note, the selenium-server-standalone-2.0b2.jar file should be in the same folder as of the bat file or else it will not work. If the server and bat file are place in different location, then proper path should be mentioned in the bat file.
- Save the file as sel-start.bat
Creating a java class file to call he above created .bat file:
========================================
package com
import org.apache.log4j.Logger;
/**
* @author : ramesh
* @purpose : This class will start the Selenium Server automatically.
* @usage : Instantiate this class to start the Selenium Server
*
*/
public class StartSeleniumServer
{
Logger log = Logger.getLogger(StartSeleniumServer.class);
public void startServer() throws Exception
{
Runtime run =Runtime.getRuntime();
try
{
run.exec("cmd.exe /c start sel-start.bat");
Thread.sleep(5000);
log.info("Started the Selenium Server successfully");
}
catch (Exception e)
{
log.error("Could not start the Server Server Due to the following reason.",e);
}
}
}
Yuppie, now you are set to go.
Monday, February 15, 2010
Hearty welcome to u
Hey Guys,
I am dedicating this blog for the Selenium Automation using Selenium RC and java.
Hope you guys get some good and funky stuffs to spice up your automation.
Feel free to email or IM me on ramesharpu@gmail.com, I would love to hear from you guys. After all, knowledge grows when we share, and Sharing is always Caring.. So Lets rock on
Bindaas!!!!!!!!!!!!!!
I am dedicating this blog for the Selenium Automation using Selenium RC and java.
Hope you guys get some good and funky stuffs to spice up your automation.
Feel free to email or IM me on ramesharpu@gmail.com, I would love to hear from you guys. After all, knowledge grows when we share, and Sharing is always Caring.. So Lets rock on
Bindaas!!!!!!!!!!!!!!
Subscribe to:
Comments (Atom)