zoukankan      html  css  js  c++  java
  • 7_Selenium结合数据库sqlite

    1 sqlite下载及安装

    • 地址:http://www.sqlite.org/download.html
    • 安装:解压sqlite-tools-win32-x86-3100200到C:sqlite
    • 配置环境变量:path中加入C:sqlite

    2 安装firefox插件sqliteManager

    3 新建数据库表

     

    4 添加sqlite jar包

    • sqlitejdbc-v033-nested.jar

    5 数据库操作代码

    package com.selenium.tool;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    
    
    public class DB {
        
        private Connection conn = null;
        private Statement stat = null;
        private String fileName = ".//sqlite/selenium.sqlite";
        
        public DB(){
            this.conn();
        }
        
        public void conn(){
            
             try {
                Class.forName("org.sqlite.JDBC");
                conn = DriverManager.getConnection("jdbc:sqlite:"+fileName);
                stat = conn.createStatement();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            
        }
        
        public String getXpath(String tableName,String itemName){
            String xpath = null;
            String sql = "select * from " + tableName + " where name = '" + itemName + "';";
    
            try {
                ResultSet rs = stat.executeQuery(sql);
                while (rs.next()) {
                    xpath = rs.getString("xpath");
                }
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return xpath;
        }
        
        public String getValue(String tableName,String itemName){
            String value = null;
            String sql = "select * from " + tableName + " where name = '" + itemName + "';";
    
            try {
                ResultSet rs = stat.executeQuery(sql);
                while (rs.next()) {
                    value = rs.getString("value");
                }
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return value;
        }

    6 测试代码

    package com.selenium.util;
    
    import com.seleniu.objects.BaiduAccountSetting;
    import com.seleniu.objects.BaiduHome;
    import com.seleniu.objects.BaiduPersonalSetting;
    import com.selenium.tool.DB;
    
    public class MyBrowserTest3{
    
        public static void main(String[] args) throws InterruptedException {
            
            MyBrowser2 myBrowser = new MyBrowser2(Config.browser);
            DB db = new DB();
            myBrowser.navigateTo(Config.url);
            myBrowser.link(db.getXpath("BaiduHome", "login")).click();
            
            Thread.sleep(3000);
            
            //登录
            myBrowser.webEdit(db.getXpath("BaiduHome", "username")).sendKeys(db.getValue("BaiduHome", "username"));
            myBrowser.webEdit(db.getXpath("BaiduHome", "password")).sendKeys(db.getValue("BaiduHome", "password"));
            myBrowser.webButton(db.getXpath("BaiduHome", "wb_login")).click();
            
        }
    栗子测试

    • 所有文章均为原创,是栗子测试所有人员智慧的结晶,如有转载请标明出处
    • 如果您在阅读之后觉得有所收获,请点击右下角推荐
    • QQ:2472471982,欢迎大家前来咨询和探讨(暗号:栗子测试)

     
  • 相关阅读:
    公司内部图书管理界面原型设计图
    对象的判等
    虚方法的调用
    类的初始化顺序
    A good idea: TotT – Testing on the Toilet
    变量命名
    QSignalMapper
    dxsdk出错,代码写完后按这个solution试下
    SVG 我太土了。。
    gsl在vc下编译时一个问题
  • 原文地址:https://www.cnblogs.com/lizitest/p/5155909.html
Copyright © 2011-2022 走看看