python3 + selenium搭建自動化測試項目

	最近因工作需要,學習了一門新的語言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')))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章