Selenium Python自動化測試環境搭建
一.需要使用的工具
1.瀏覽器(Firefox、Chrome、IE)
2.Python(Python2或Python3)
3.Selenium
4.瀏覽器驅動(geckodriver、chromedriver、IEDriverServer)
5.IDE(Eclipse、Pychram等)
6.資料庫(MySQL、Oracle、Sql Server、DB2等均可)
7.外掛(FireBug或瀏覽器開發模式下的物件識別工具)
8.資料庫連線工具
9.Jenkins持續整合工具
二.瀏覽器及驅動安裝
安裝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工具安裝
- 安裝jdk,並配置環境變數,不做詳細說明;
- 下載maven,解壓後配置環境變數,不做詳細說明;
- 下載Jenkins,下載地址:https://jenkins.io/download/,選擇war包下載;
- 下載tomcat,並解壓;
- Jenkins第一種啟動方法:切換到jenkins.war存放的目錄,輸入如下命令:java -jar jenkin.war,然後在瀏覽器中輸入http://localhost:8080,localhost可以是本機的ip,也可以是計算機名,就可以開啟jenkins了;
- 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上。