自动化测试简介及环境搭建
一、自動(dòng)化測(cè)試簡(jiǎn)介
1. 自動(dòng)化測(cè)試本質(zhì)
通過(guò)自動(dòng)化的形式來(lái)模擬人工一系列操作(面試可能會(huì)問(wèn),結(jié)合一個(gè)場(chǎng)景來(lái)回答)
打開(kāi)項(xiàng)目->定位元素->操作元素->模擬頁(yè)面動(dòng)作->斷言結(jié)果->生成報(bào)告
舉例:云商系統(tǒng)
(1)打開(kāi)云商系統(tǒng)地址
(2)定位輸入框
(3)操作控件:給輸入框輸入內(nèi)容,如輸入“男裝”,并點(diǎn)擊搜索
(4)跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面后,模擬頁(yè)面動(dòng)作,如下拉、上劃、頁(yè)面滑動(dòng)
(5)斷言結(jié)果,通過(guò)自動(dòng)化的形式判斷預(yù)期結(jié)果與實(shí)際結(jié)果是否一致,一致則pass,不一致則fail
(6)生成報(bào)告
對(duì)于自動(dòng)化,不能跨步走,即不能在頁(yè)面1(首頁(yè))去操作頁(yè)面2(購(gòu)物車(chē))的控件
2. 自動(dòng)化測(cè)試適用場(chǎng)景
(1)需求不頻繁變動(dòng)
如果項(xiàng)目還處于探索階段,不知道項(xiàng)目會(huì)發(fā)展成什么樣子,此時(shí)需求會(huì)頻繁變動(dòng),頁(yè)面的功能也會(huì)變化。UI自動(dòng)化是基于用戶界面和功能的,不適合需求頻繁變動(dòng)的項(xiàng)目。最好是在1.0版本已經(jīng)上線,基本功能已經(jīng)穩(wěn)定,之后是不斷地迭代更新功能,整個(gè)產(chǎn)品需求走勢(shì)已經(jīng)確定時(shí)開(kāi)始進(jìn)行UI自動(dòng)化工作。
(2)項(xiàng)目周期較長(zhǎng)
3個(gè)月及其以上,且基于項(xiàng)目穩(wěn)定的情況下
(3)UI比較穩(wěn)定
UI指頁(yè)面的布局、控件和功能的顯示,UI穩(wěn)定和需求不頻繁變動(dòng)是相關(guān)聯(lián)的
(4)大量回歸測(cè)試任務(wù)(重復(fù)的老功能)
3. 自動(dòng)化適用測(cè)試階段
(1)冒煙測(cè)試(核心主干功能,對(duì)新功能的冒煙)
(2)回歸測(cè)試(對(duì)老功能的回歸,迭代的功能對(duì)老功能是否有影響)
4. 不適合UI自動(dòng)化測(cè)試的場(chǎng)景
(1)音頻播放器(音視頻交互性太強(qiáng),無(wú)法拿到視頻源,黑屏、藍(lán)屏等無(wú)法判斷)
(2)打電話
(3)游戲類(lèi)
國(guó)內(nèi)的敏捷迭代一般2周1個(gè)版本,最慢1個(gè)月1個(gè)迭代,有些公司1周一個(gè)迭代
5. UI自動(dòng)化測(cè)試設(shè)計(jì)原則
| 1 | 一個(gè)case完成一個(gè)功能點(diǎn)測(cè)試 | 一個(gè)自動(dòng)化case對(duì)應(yīng)1條手工測(cè)試用例,整個(gè)行業(yè)都是這么做 |
| 2 | 一個(gè)腳本是一個(gè)完整的場(chǎng)景 | 使用較少 |
| 3 | 腳本之間獨(dú)立,不能有依賴(lài) | 如果有依賴(lài)關(guān)系,則前面的case失敗后會(huì)影響后面的執(zhí)行結(jié)果。所有每一條自動(dòng)化用例都是從打開(kāi)瀏覽器、登錄開(kāi)始的,都是相互獨(dú)立的,不會(huì)有任何依賴(lài) |
| 4 | 設(shè)置合適的檢查點(diǎn) | 即斷言結(jié)果 |
| 5 | 設(shè)計(jì)良好的框架 | - |
二、selenium介紹
1. selenium特點(diǎn)
Selenium主要用于web應(yīng)用程序的自動(dòng)化測(cè)試,但并不局限于此,它還支持所有基于web的管理任務(wù)自動(dòng)化,其特點(diǎn)如下:
| 1 | 開(kāi)源免費(fèi) | - |
| 2 | 多瀏覽器支持 | Firefox、Chrome、IE、opera、edge |
| 3 | 多平臺(tái)支持 | Linux、Windows、MAC |
| 4 | 多語(yǔ)言支持 | Java、Python、Ruby、C#、JavaScript、C++ |
| 5 | 對(duì)web頁(yè)面有良好的支持 | - |
| 6 | 簡(jiǎn)單、靈活、足夠穩(wěn)定 | API簡(jiǎn)單,API:在類(lèi)里面封裝好的方法,即暴露給別人的一個(gè)可用的接口 |
2. Robot framework擴(kuò)展
(1)Robot framework只是一個(gè)關(guān)鍵字驅(qū)動(dòng)框架,它只是封裝了selenium、封裝了request。使用RF可以做web端自動(dòng)化、APP端自動(dòng)化、接口自動(dòng)化,但是底層還是用的selenium。
(2)RF是一個(gè)非常局限于測(cè)試工程師思想的工具,比如打開(kāi)瀏覽器使用關(guān)鍵字open browser,然后寫(xiě)個(gè)URL地址,就可以打開(kāi),不需要寫(xiě)任何代碼。我們做自動(dòng)化核心在于我們要知道背后的原理,怎樣通過(guò)代碼實(shí)現(xiàn),其過(guò)程是非常靈活的,而不應(yīng)局限于已經(jīng)封裝好的工具。
3. selenium3.x版本介紹
Selenium歷經(jīng)3個(gè)大版本,selenium1.0、selenium2.0、selenium3.0。selenium不是由單獨(dú)一個(gè)工具構(gòu)成的,而是由一些插件、類(lèi)庫(kù)組成,每個(gè)部分都有其特點(diǎn)和應(yīng)用場(chǎng)景
selenium3.x的特點(diǎn)如下:
(1)去掉selenium RC。selenium1.0和selenium2.0的底層都使用了selenium RC。
- 去掉selenium RC的原因:對(duì)于selenium RC的核心實(shí)現(xiàn)的是通過(guò)JS去控制操作瀏覽器的,安全性差(每個(gè)人都可以調(diào)JS)、效率低(中間加了一層)
- selenium2.0以webdriver為主,selenium RC并存,selenium RC在selenium3.0直接被去掉,selenium3.0的核心就是webdriver
(2)Selenium3.0中的Firefox驅(qū)動(dòng)獨(dú)立了。在selenium3.0之前,只要在不同編程語(yǔ)言下安裝好selenium就可以驅(qū)動(dòng)Firefox瀏覽器運(yùn)行自動(dòng)化測(cè)試腳本。這是因?yàn)椴煌Z(yǔ)言下的selenium庫(kù)中移動(dòng)包含了Firefox瀏覽驅(qū)動(dòng)。然而,現(xiàn)在Firefox瀏覽器驅(qū)動(dòng)與selenium庫(kù)分離,單獨(dú)提供下載。
(3) Edge和Safari原生驅(qū)動(dòng)的支持
三、Python3+selenium3.x自動(dòng)化測(cè)試環(huán)境搭建
1. 安裝Python
1) 進(jìn)入Python官網(wǎng)下載Python,下載地址:https://www.python.org/downloads/
2) 雙擊已下載的Python安裝包,安裝時(shí)選擇安裝界面的“Add Python 3.7 to PATH”進(jìn)行勾選,避免再次配置環(huán)境變量;
3) 驗(yàn)證Python是否安裝成功:windows+R打開(kāi)cmd命令行,輸入命令“python”,如果有提示Python版本,則表示配置成功
2. 配置Python環(huán)境變量
如果在步驟1中沒(méi)有勾選添加環(huán)境變量,則需要手動(dòng)配置
配置環(huán)境變量方法:
1) 找到python.exe所在路徑,我所在路徑為:C:\Users\Administrator\AppData\Local\Programs\Python\Python37
2) 選擇計(jì)算機(jī),鼠標(biāo)右鍵->屬性->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量,選擇系統(tǒng)變量中的Path,將python.exe所在路添加到Path中去,然后點(diǎn)擊確定。
注意:win7中的環(huán)境變量需要以英文狀態(tài)下的分號(hào);分隔。
- 添加環(huán)境變量的方法:將exe可執(zhí)行程序所在的路徑添加到path中去,因?yàn)閏md執(zhí)行python命令時(shí),找的就是Python.exe這個(gè)文件,配置其他環(huán)境變量的方法與這個(gè)類(lèi)似。(將exe可執(zhí)行文件所在路徑添加到環(huán)境變量中。)
3. 配置pip環(huán)境變量
與步驟2類(lèi)似,將pip.exe所在路徑添加到path中去,pip.exe通常在python文件夾下的Scripts文件夾下,即路徑為:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts
4. 安裝配置selenium
在cmd下直接執(zhí)行pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
5. 下載并安裝pycharm編譯器
- 可以通過(guò)pycharm編寫(xiě)python代碼,目前用的比較多的IDE就是Pycharm
- 下載地址:https://download.jetbrains.com/python/pycharm-community-2017.3.2.exe,也是下一步下一步默認(rèn)安裝即可。
之前已經(jīng)安裝過(guò),這一步省略。
6. 下載瀏覽器及對(duì)應(yīng)的驅(qū)動(dòng)
不管是firefox瀏覽器還是chrome瀏覽器我們通過(guò)selenium自動(dòng)化操作瀏覽器都需要用到一個(gè)driver,需要進(jìn)行下載
1) Firefox瀏覽器及驅(qū)動(dòng)下載
- Firefox瀏覽器下載地址:https://www.firefox.com.cn/download/
- 對(duì)應(yīng)驅(qū)動(dòng)下載地址:https://github.com/mozilla/geckodriver/releases
- firefox的版本和geckodriver的版本有對(duì)應(yīng)關(guān)系,可以自行在網(wǎng)上查找
- 火狐瀏覽器版本查看:打開(kāi)火狐瀏覽器,點(diǎn)擊右上角菜單-幫助-關(guān)于Firefox
2) Chrome及驅(qū)動(dòng)下載
- Chrome驅(qū)動(dòng)下載地址:http://chromedriver.storage.googleapis.com/index.html
- chrome瀏覽器也和chromedriver有對(duì)應(yīng)關(guān)系,需要下載與瀏覽器對(duì)應(yīng)版本的驅(qū)動(dòng),如我的谷歌瀏覽器版本為:87.0.4280.88
選擇對(duì)應(yīng)版本的驅(qū)動(dòng)(如果沒(méi)有對(duì)應(yīng)版本的驅(qū)動(dòng),可使用接近的版本,如果電腦是64位的,也可以選擇win32的驅(qū)動(dòng),都可以正常使用)
3) 驅(qū)動(dòng)安裝
- 將下載好的驅(qū)動(dòng)放到與python.exe平行的路徑下
7. 配置pycharm
- 打開(kāi)pycharm,選擇左上角file->settings->project->project interpreter
- 在project interpreter選擇Python安裝路徑,確認(rèn)下面存在selenium的庫(kù)
8. 第一個(gè)自動(dòng)化程序
在pycharm中運(yùn)行以下代碼,查看環(huán)境是否都已配置成功,如果可以自動(dòng)打開(kāi)瀏覽器并進(jìn)入百度首頁(yè),即說(shuō)明環(huán)境配置完畢
#火狐瀏覽器 from selenium import webdriver import time driver = webdriver.Firefox() driver.get('https://www.baidu.com') time.sleep(5) #谷歌瀏覽器 from selenium import webdriver import time driver = webdriver. Chrome() driver.get('https://www.baidu.com') time.sleep(5)總結(jié)
以上是生活随笔為你收集整理的自动化测试简介及环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 线段树专辑——pku 3667 Hote
- 下一篇: 我写的几篇技术文章之一:Windows消