Selenium Python自動化測試環境搭建

一.須要使用的工具

1.瀏覽器(Firefox、Chrome、IE)html

2.Python(Python2或Python3)java

3.Seleniumpython

4.瀏覽器驅動(geckodriver、chromedriver、IEDriverServer)mysql

5.IDE(Eclipse、Pychram等)git

6.數據庫(MySQL、Oracle、Sql Server、DB2等都可)github

7.插件(FireBug或瀏覽器開發模式下的對象識別工具)web

8.數據庫鏈接工具sql

9.Jenkins持續集成工具chrome

 

二.瀏覽器及驅動安裝

  安裝Firefox、Chrome、IE三個瀏覽器都可,注意想使用某個瀏覽器須要下載對應的瀏覽器驅動程序,同時驅動程序支持的版本需與瀏覽器版本對應;數據庫

1.Firefox:

  下載地址:http://ftp.mozilla.org/pub/firefox/releases/

  驅動地址:https://github.com/mozilla/geckodriver/releases

2.Chrome:

  下載地址:網上下載

  驅動地址:http://chromedriver.storage.googleapis.com/index.html

3.IE:

  下載地址:系統自帶

  驅動地址:http://selenium-release.storage.googleapis.com/index.html

 

三.Python安裝

1.官網下載python3,並安裝;

下載地址:https://www.python.org/getit/

 

2.配置環境變量

在path中添加python的安裝目錄和Scripts的安裝目錄;

 

3.驗證安裝

打開cmd命令行,輸入python –version,若顯示python的版本號則表示安裝成功;

 

四.Selenium安裝

Python環境搭建好了之後,安裝selenium就簡單了,

安裝方法:

--打開cmd命令行

--輸入命令 pip install selenium

--回車,等待自動安裝結束

--當最後一行代碼出現Successfully install selenium-XX時,表示安裝成功。

 

五.驅動存放

瀏覽器及驅動下載結束後,須要將對應的驅動拷貝至python安裝目錄下的Scripts目錄下;

 

六.Eclipse PyDev安裝

本次以eclipse中安裝pydev的方式爲例說明:

1.安裝PyDev:

打開eclipse後,在Help -- Eclipse Marketplace窗口輸入pydev,直接搜索後點擊install安裝便可;

 

若未搜索到或安裝失敗,可嘗試手動安裝,打開eclipse後,在Help -- Install New Software窗口輸入:

Name:PyDev

Location:http://pydev.org/updates

注:下載Pydev自動安裝,若是失敗,則手動訪問地址,而後關掉其餘使用網絡程序,重啓eclipse再次安裝!提示重啓按照完畢!

 

2.eclipse和python關聯:

打開eclipse,在 Windows -- Preferences --PyDev -- Interpreters -- Python Interpreter

點擊New按鈕,選擇python.exe的路徑,打開後顯示出一個包含不少複選框的窗口,點擊OK;

 

3.測試python:

建立一個python項目,New -- Project -- PyDev -- PyDev Project,

輸入項目名稱,點擊finish,

 

在項目中先建立PyDev Package,再建立一個PyDev Module類,填寫py文件名稱;

輸入代碼:print(「this is my first python project!」),鼠標右鍵Run As ->Python Run若出現執行結果則正常;

 

七.測試打開瀏覽器

在IDE中輸入代碼:

# -*- coding: utf-8 -*-

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("https://www.baidu.com")

運行後若能在瀏覽器中打開百度首頁則正常;

 

八.數據庫安裝

以MySql數據爲例,下載安裝包後安裝,建立數據庫及登陸用戶,建立表,用於存在自動化測試案例數據、指望輸出和案例執行結果;

想要鏈接數據庫,須要在cmd命令行中輸入:pip install PyMySQL命令,安裝pymysql工具:

在配置文件中添加數據庫的基本信息:

 

在源碼中建立鏈接和操做數據庫的工具類:

from framework.logger import Logger

import pymysql as mdb

import configparser

import os

 

logger = Logger("數據庫鏈接").getlog()

config = configparser.ConfigParser()

dir = os.path.abspath('.').split('src')[0]

config.read( dir+"/config/config.ini") 

 

class database:

    # 數據庫鏈接

    def connectMySQL(self):

        conn = False

        try:

            conn = mdb.connect(host=config.get("MySql", "dbhost"),

                                   user=config.get("MySql", "userName"),

                                   passwd=config.get("MySql", "passWord"),

                                   db=config.get("MySql", "dbName") ,

                                   port=int(config.get("MySql", "dbport")),

                                   )

        except Exception as data:

            logger.error("connect database failed, %s" %data)

            conn = False

        return conn

 

    # 獲取查詢結果集

    def fetch_all(self, sql):

        self._conn = self.connectMySQL()

        self._cursor = self._conn.cursor()

        res = ''

        if (self._conn):

            try:

                self._cursor.execute(sql)

                res = self._cursor.fetchall()

                #print(res)

            except Exception as data:

                res = False

                logger.error("query database exception, %s" %data)

            finally:

                self.close()

        return res

 

    #更新數據庫中表的某幾列:update login set result = %s where id = %s

    def updateByParams(self, sql, params):

        self._conn = self.connectMySQL()

        self._cursor = self._conn.cursor()

        flag = False

        if (self._conn):

            try:

                self._cursor.execute(sql,params)

                self._conn.commit()

                flag = True

            except mdb.Error as data:

                flag = False

                logger.warn("update database by params exception, %s" % data)

            finally:

                self.close()

        return flag

    # 關閉數據庫鏈接

    def close(self):

            try:

                if (type(self._cursor) == 'object'):

                    self._cursor.close()

                if (type(self._conn) == 'object'):

                    self._conn.close()

            except Exception as data:

                logger.warn("close database exception, %s,%s,%s" % (data, type(self._cursor), type(self._conn)))

 

if __name__ == '__main__':

    db = database()

    sql = "select username,userpwd,expect from login"

    db.fetch_all(sql)

    update_sql = "update login set result =%s"

    db.updateByParams(update_sql, '測試')

 

九.Jenkins工具安裝

  1. 安裝jdk,並配置環境變量,不作詳細說明;
  2. 下載maven,解壓後配置環境變量,不作詳細說明;
  3. 下載Jenkins,下載地址:https://jenkins.io/download/,選擇war包下載;
  4. 下載tomcat,並解壓;
  5. Jenkins第一種啓動方法:切換到jenkins.war存放的目錄,輸入以下命令:java -jar jenkin.war,而後在瀏覽器中輸入http://localhost:8080,localhost能夠是本機的ip,也能夠是計算機名,就能夠打開jenkins了;
  6. Jenkins第二種啓動方法:用tomcat打開,將jenkins.war文件放入tomcat下的webapps目錄下,啓動jenkins時會自動在webapps目錄下創建jenkins目錄,因此在地址欄上須要輸入的地址於上一種方法有點不同,輸入:http://localhost:8080/jenkins,打開的jenkins頁面與第一種方法相同;

 

十.Jenkins工具使用

對使用tomcat的方法進行詳細說明:

1.啓動tomcat,瀏覽輸入http://localhost:8080/jenkins

2.初始的管理員密碼,jenkins是自動生成的,根據圖中紅色的路徑找到密碼,拷到下面的輸入框中;

 

3.安裝插件,能夠默認的安裝,也能夠本身選擇,(jenkins配置好後也能夠安裝插件),這裏咱們選擇默認的;

 

4.完成之後到建立本身的用戶;

5.建立之後就能夠用新帳戶登陸,進入jenkins的主頁;

 

6.選擇「系統管理」--「插件管理」,選擇所需的相關插件進行安裝,若安裝失敗多是Jenkins版本與插件版本不兼容,能夠採起升級Jenkins的方式解決;

推薦安裝的插件包括:Git、subversion、Deploy to container Plugin、Maven Integration Plugin、Email Extension Plugin等;

7.選擇「系統管理」--「Global Tool Configuration" 配置 jdk、maven等信息;

點擊「JDK安裝」,配置jdk信息:

 

點擊「Maven安裝「,配置Maven配置:

 

8.接下來咱們「構建一個maven項目」:

點擊「新建」--構建一個maven項目,

 

填寫項目名稱等基本信息:

 

若從svn或git獲取項目文件,則添加svn信息或git信息,

 

點擊 「Add」 填寫svn的帳號和密碼, 

 

添加完成後以下:

 

配置構建觸發器,以下圖配置爲天天晚上9:30開始構建(Cron表達式):

 

添加構建後操做

 

直接將構建好的項目打包部署到tomcat中,

 

 添加tomcat容器,

 

 tomcat中要配置用戶名和密碼,且該用戶還要有足夠的權限,在tomcat-user.xml中配置的

<role rolename="admin" />
<role rolename="admin-gui" />
<role rolename="manager" />
<role rolename="manager-script" />
<role rolename="manager-gui" />
<user username="admin" password="123456" roles="admin,manager,manager-script,manager-gui,admin-gui"/>
用戶名爲admin 密碼爲 123456

在 My Views 能看到本身建的項目:

進入項目後,點擊「當即構建」就會執行構建任務,jenkins就會從svn上將代碼拉下來,打好包後而後部署到tomcat上。

相關文章
相關標籤/搜索