最近因工作需要,學習了一門新的語言python3;python是一門比較容易上手的語言,對於從事java開發的人來說,他們之間的有很多相同的地方;語法上很相似,只是python的語法相對於java來說更加的隨意,簡單些!
對於準備學習python語言的新人,個人推薦學習python3,因爲python3和python2在語法和使用上有很大不同!
具體的python環境搭建和集成,請自行百度,沒有很複雜!
我個人搭建的python3自動化項目地址:
https://github.com/lvhong622333/autoTest.git
這裏我主要講解的是自動化測試組件selenium!
一、安裝導入
可以使用pip3 install selenium命令直接在python3中安裝selenium組件
在項目中使用時,在文件中添加如下代碼:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
二、聲明瀏覽器對象
from selenium import webdriver
#聲明使用google瀏覽器
browser = webdriver.Chrome()
#聲明使用火狐瀏覽器
browser = webdriver.Firefox()
#聲明使用edge瀏覽器
browser = webdriver.Edge()
#聲明使用PhantomJS
browser = webdriver.PhantomJS()
#聲明使用Safari瀏覽器
browser = webdriver.Safari()
三、訪問頁面
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.taobao.com')
print(browser.page_source)
browser.close()
四、查找單個元素
browser.find_element_by_id('q')
browser.find_element_by_css_selector('#q')
browser.find_element_by_xpath('//*[@id="q"]')
等等
五、查找多個元素
browser.find_elements_by_css_selector('.service-bd li')
browser.find_elements(By.CSS_SELECTOR, '.service-bd li')
等等
六、元素的交互方式和動作
請參考:http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement
http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains
七、執行javascript腳本
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
八、獲取元素屬性
from selenium import webdriver
from selenium.webdriver import ActionChains
browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'
browser.get(url)
logo = browser.find_element_by_id('zh-top-link-logo')
print(logo.get_attribute('class'))
print(input.text)
print(input.id)
print(input.location)
print(input.tag_name)
print(input.size)
九、切換iframe
browser.switch_to.frame('iframeResult')
browser.switch_to.parent_frame()
十、等待
隱式等待:
browser.implicitly_wait(10)
顯示等待
wait = WebDriverWait(browser, 10)
input = wait.until(EC.presence_of_element_located((By.ID, 'q')))
python3 + selenium搭建自動化測試項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.