玩玩自动化测试之selenium篇
現如今社會科技發展太快了,純功能點點點已經落后別人好幾條街了,所以為了讓自己多點職業生涯年限,得挺起肩,傲起頭。自動化測試,其本質是用代碼程序測試程序,所以其實第一步應該學好編程語言,后再自己開發自動化測試工具、框架,那這就到了高級測試工程師的位置了,在這之前就要學習掌握許多的相關知識,首先我們可以先學習探索幾個自動化測試工具,這篇主講selenium
一 前言:
1、為了要代替繁瑣重復的手動回歸,這時利用上自動化工具是多么妙的感覺,在市面上自動化測試工具有很多,目前最常用的就是QTP和selenium,但是更喜歡selenium,因它開源免費,可定制,多語言,還跨平臺(手機、windows、mac和Linux),唯一不足就是不支持桌面應用程序,只支持瀏覽器
2、什么項目適合做UI自動化:①項目周期長 ②業務流程復雜 ③項目相對來說比較穩定 ④項目基于Adobe flash的話就不適合 ⑤定制化的項目
3、selenium三個版本:
? ? ? ? ? ? ①selenium 1版,基于JS,通過向瀏覽器植入JS,完成操縱網頁的目的
? ? ? ? ? ? ②selenium 2版,引入webdriver,基于HTTP協議,代碼相當于客戶端跟selenium的服務器會開一個session,代碼傳給selenium的服務器,服務器把代碼翻譯成driver能聽懂的 語言,就是一個API接口,通過driver去驅動瀏覽器,簡單講把瀏覽器原生的API封裝成WebDriver API,就可以直接操作瀏覽器頁面里的元素,所以就像真正的用戶在操作一樣
? ? ?③selenium 3版,跟selenium2沒多大區別,主要區別是使用Firefox時是必須下載驅動 geckodrive
二 java+selenium框架:
所需環境,搭配好jdk
?
下載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()?
轉載于:https://www.cnblogs.com/hearbeat/p/hearbeat.html
總結
以上是生活随笔為你收集整理的玩玩自动化测试之selenium篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取当前div以外所有部分
- 下一篇: Uva12716 素数筛思想的应用