自動化測試之路第一步-------Selenium自動化環境搭建(基於Python)

1、環境準備

1. 安裝Python

可從Python官網安裝最新版,我安裝的是3.7版本。html

2. 安裝Selenium包

用pip命令行安裝,pip是一個專門安裝python包的工具,這個安裝好以後,後面安裝其它的包就很是方便了。python

首先安裝pipgit

$ sudo easy_install pip
複製代碼

安裝好後,安裝seleniumgithub

$ sudo pip install selenium
複製代碼

查看當前電腦上的selenium版本和狀態web

 $ pip show selenium
複製代碼

3. 選擇一個IDE

IDE就是你跑Python腳本的東東,也就是編譯器,這裏我選擇的是PyCharm。chrome

JetBrains公司出品的軟件,支持Windows,Linux,macOS,分爲社區版(免費)和專業版(付費),相比社區版,專業版增長了Web開發、Python We框架、Python分析器、遠程開發、支持數據庫與SQL等更多的高級功能。shell

安裝簡單,從官網一步一步安裝便可,首次安裝有一個月的專業版體驗。數據庫

2、瀏覽器選擇

1. Google

須要安裝與其版本相對應的chromedriver(劃重點,版本必定要對應)。api

相應版本的chromedriver下載地址http://chromedriver.storage.googleapis.com/index.html瀏覽器

安裝好後解壓放到/usr/local/bin/目錄下。

2. Firefox

與Google相同的步驟,下載瀏覽器和geckodriver,不過貌似Firefox對版本對應要求不高,不須要嚴格對應。

geckodriver下載地址https://github.com/mozilla/geckodriver/releases

3、編寫第一個自動化腳本

1. Python File的建立

2. 編寫web的測試腳本(如下代碼爲谷歌瀏覽器)

import os
from selenium import webdriver

#獲取chromedriver的路徑
chrome_driver_path = '/usr/local/bin/chromedriver'

# 建立谷歌瀏覽器實例
# 這裏須要一個全局的driver來控制交互事件,因此須要建立一個driver代替咱們操做
driver = webdriver.Chrome(chrome_driver_path)
# 隱式等待
driver.implicitly_wait(30)
# 最大化窗口
driver.maximize_window()

# 給出測試web的url 這裏以百度爲例
driver.get('https://www.baidu.com/')
# 找到須要控制的組件名字(稍後會講如何找)
# 這裏是找到搜索框
search_field = driver.find_element_by_name('wd')
# 若本來有值 則清除
search_field.clear()

# 輸入phones 並搜索
search_field.send_keys('phones')
search_field.submit()

# 一下爲耗時操做,可先不看
# currently on result page using find_elements_by_xpath method
products = driver.find_elements_by_xpath("//h2[@class='product-name']/a")

# get the number of anchor elements found
print ('Found ' + str(len(products)) + ' products:')

# iterate through each anchor element and
# print the text that is name of the product
for product in products:
    print (product.text)

# 耗時操做執行完畢後,關閉控制器
driver.quit()

# 這裏說下退出瀏覽器的方法
# 一、close :
# 用於關閉當前窗口,當打開的窗口較多時,就能夠用close關閉部分窗口。
# 二、quit:
# 用於結束進程 ,關閉全部窗口。
# 最後結束測試,要用quit。quit能夠回收C盤的臨時文件。
複製代碼

3. 查看web頁的元素名稱

這裏說一個簡單的,就是獲取百度搜索欄的name(上面代碼中的wd) 打開百度網頁,右鍵--檢查,會看到右側彈出html的代碼。

鼠標放在右側代碼上移動可看到左側元素變藍,說明此處代碼對應的是變藍的元素,就能夠找到name啦,這裏要注意上面的form是表單,不是元素,下面的input纔是搜索欄對應的name。

以上,若是沒有問題,運行程序後,會自動打開谷歌瀏覽器的頁面,進入百度,並自動搜索phones,幾分鐘後再自動關閉瀏覽器。

相關文章
相關標籤/搜索