一、自動化測試概念
1、概念
java:TestNg
python:unittest pytest
2、自動化測試可行性
- 測試目的明確,需求不會頻繁的變更
- 對于項目的自動化測試,要看項目的具體情況
- 一個產品需要在多個環境下部署
- 對于web GUI測試,需要測試用例在不同的瀏覽器上進行兼容性測試
- 移動端測試,同樣的測試用例需要在多個不同的android和ios執行
- 對于一些企業級軟件,不同的企業他需要按照對應的行業領域做定制化,但是各個定制版本的主題功能絕大多數是一致的,只是個別功能有輕微的差異
- 測試人員具備一定編程能力
二、selenium核心原理與機制
1、代碼分析
需求:
(1)打開Chrome瀏覽器,在地址欄中輸入百度的網址。
(2)在搜索輸入框中輸入關鍵詞“自動化測試”并按Enter鍵。
(3)驗證搜索結果頁面的標題是否是“自動化測試_百度搜索”。
注意:把dirver放到本地的文件夾后,一定要配置到環境變量中
2、Selenium 1. 0的工作原理
Selenium 1. 0,又稱SeleniumRC,其中RC是Remote Control的縮寫
Selenium RC服務器主要包括Seleniumcore,http proxy和launcher三部分
- selenium core,是被注入瀏覽器頁面中的js函數集合,用來實現界面元素的識別和操作
- HTTP Proxy,作為代理服務器修改js的源,以達到“欺騙”被測站點的目的
- Launcher,用來在啟動測試瀏覽器時完成Selenium core的注入和瀏覽器代理的設置
3、Selenium 2. 0的工作原理
4、Selenium 3. 0的工作原理 2016
- 3. 0版本的API向下兼容2. 0
- JDK 環境需要升級到JDK 1.8或者以上。
- 移除了1. 0版本的RC,也就是說,Selenium 1. 0不再得到官方的支持。
- (2. 0版本的Firefox(不需要多帶帶下載驅動)3. 0官方提供了一個geckodriver,具體用法類似于 ChromeDriver.
- 官方開始支持微軟的(Edge)瀏覽器,但是需要下載對應的 Driver(Microsoft Web Driver.exe).
- 官方支持的最低版本為(IE9)
三、selenium安裝
1、Selenium WebDriver
客戶端API接口,測試人員通過調用這些接口(WebDriver源碼),來訪問瀏覽器驅動,瀏覽器驅動再訪問瀏覽器
2、Selenium IDE
官網地址:https://www.selenium.dev/
Selenium IDE是一個瀏覽器插件,支持chrome瀏覽器和Firefox瀏覽器,可以將手動測試過程記錄下來,并生成自動化測試腳本,可以實現回放。
使用方法
作用:以錄屏的方式幫助異地開發重現bug
3、Selenim Grid
1)可以解決什么問題?
- 當web應用需要進行不同瀏覽器的兼容性測試時,首先需要準備很多機器或者模擬
機,并安裝所需的不同測覽器。
- 當web應用需要進行同一瀏覽器的不同版本的兼容性測試時,同樣需要準備很多安裝了同一瀏覽器的不同版本的測試執行機器
- 在GUI自動化測試用例的數量比較多的情況下,你不希望只用一臺測試執行機器以串行的方式執行測試用例,而希望可以用上所有可用的測試執行機器,以并發的方式執行測試用例
2)Selenium Grid架構
四、Selenium開發環境搭建
1、安裝python
https://www.python.org/官網下載python
2、安裝pycharm
https://www.jetbrains.com/pycharm/download/#section=windows (使用社區版即可)
3、安裝selenium
- 離線安裝
下載指定的selenium版本;https://pypi.org/project/selenium/
解壓文件;
使用cmd進入解壓目錄下執行命令:python setup.py install
- 使用pip在線安裝:
pip installselenium
pip installselenium==指定版本號 如:pip install selenium==2.48.0
4、下載driver
- 如果不能科學上網,推薦使用國內鏡像:https://npm.taobao.org/mirrors/chromedriver/
- 配置driver的環境變量
五、元素定位基礎知識
.......
1、HTML
:
文檔的根元素,所有的描述都在這里
:
文檔頭信息,包含、