現現在社會科技發展太快了,純功能點點點已經落後別人好幾條街了,因此爲了讓本身多點職業生涯年限,得挺起肩,傲起頭。自動化測試,其本質是用代碼程序測試程序,因此其實第一步應該學好編程語言,後再本身開發自動化測試工具、框架,那這就到了高級測試工程師的位置了,在這以前就要學習掌握許多的相關知識,首先咱們能夠先學習探索幾個自動化測試工具,這篇主講seleniumjava
一 前言:python
一、爲了要代替繁瑣重複的手動迴歸,這時利用上自動化工具是多麼妙的感受,在市面上自動化測試工具備不少,目前最經常使用的就是QTP和selenium,可是更喜歡selenium,因它開源免費,可定製,多語言,還跨平臺(手機、windows、mac和Linux),惟一不足就是不支持桌面應用程序,只支持瀏覽器web
二、什麼項目適合作UI自動化:①項目週期長 ②業務流程複雜 ③項目相對來講比較穩定 ④項目基於Adobe flash的話就不適合 ⑤定製化的項目chrome
三、selenium三個版本:編程
①selenium 1版,基於JS,經過向瀏覽器植入JS,完成操縱網頁的目的windows
②selenium 2版,引入webdriver,基於HTTP協議,代碼至關於客戶端跟selenium的服務器會開一個session,代碼傳給selenium的服務器,服務器把代碼翻譯成driver能聽懂的 語言,就是一個API接口,經過driver去驅動瀏覽器,簡單講把瀏覽器原生的API封裝成WebDriver API,就能夠直接操做瀏覽器頁面裏的元素,因此就像真正的用戶在操做同樣瀏覽器
③selenium 3版,跟selenium2沒多大區別,主要區別是使用Firefox時是必須下載驅動 geckodrive服務器
二 java+selenium框架:session
所需環境,搭配好jdkapp
下載selenium-server-standalone和各個瀏覽器的driver,連接:https://pan.baidu.com/s/1U8umo6dL908EUfUDu92yBg 密碼:3m7s
打開eclipse,在項目裏新建立一個folder,把selenium-server-standalone-3.12.0.jar包放到這文件夾裏來,而後在項目上右鍵點擊build path----configure build path...---添加jre,ok.
爲了運行代碼時能隨時隨地找到這個driver,可放到項目裏文件夾裏,或是把driver的目錄放在環境變量path裏,或放在java/bin裏面去,也能夠把driver放到各個瀏覽器目錄下邊來.
谷歌,火狐,IE,edge等瀏覽器,其中edge在作自動化時,須要新建一個用戶,使用非內置用戶,如果系統管理員帳號的話是會報錯,其餘瀏覽器沒影響。
這邊開始來如何實現 打開各個瀏覽器
1 //把webdriver實例化,啓動火狐 2 WebDriver dr=new FirefoxDriver(); 3 //WebDriver dr=new ChromeDriver(); 4 //WebDriver dr=new InternetExplorerDriver(); 5 dr.get("https://www.baidu.com"); 6 dr.close();//關掉瀏覽器 7 dr.quit();//退出驅動
成功打開
注意一點驅動和瀏覽器版本的兼容問題
嗑個selenium的API,寫段代碼來操做頁面元素
定位頁面元素優先考慮id和name,其次是xpath、LinkText,這邊仍是用百度網址
1 WebDriver dr=new ChromeDriver(); 2 //WebDriver dr=new InternetExplorerDriver(); 3 dr.get("https://www.baidu.com"); 4 //定位到百度搜索框的元素,輸入happy 5 dr.findElement(By.id("kw")).sendKeys("happy"); 6 //清除 7 dr.findElement(By.id("kw")).clear(); 8 //從新輸入cake 9 dr.findElement(By.id("kw")).sendKeys("cake"); 10 //dr.close(); 11 //dr.quit();
三 Python+selenium框架:
Python官網下載地址:https://www.python.org/downloads/,目前最新版是3.7.0,這版本還不是太穩定,建議下載3.4-3.6版本,配置好環境變量,以下圖表明安裝成功了
下載安裝selenium,只要在命令行輸入 pip install selenium會自動安裝
用Python敲一段打開瀏覽器
1 from selenium import webdriver 2 import time 3 #dr=webdriver.Ie() 4 dr=webdriver.chrome() 5 dr.get('http://www.baidu.com') 6 time.sleep(3) 7 dr.close() 8 dr.quit()