基礎:
date:2018505+2018506 day05+06mor
一.安裝環境
1.cmd→pip install selenium

2.將瀏覽器驅動放入X:\Python27下(如chromedriver.exe放入C:\Python27)(前提是已安裝瀏覽器)

注:瀏覽器驅動要和瀏覽器版本相對應
二.Selenium基礎
1.控制瀏覽器


2.查找元素
①.通過元素name方法查找——xxx.find_element_by_name('')



②.通過元素id方法查找——xxx.find_element_by_id('')



③.通過元素css樣式方法查找——xxx.find_element_by_css_selector('')



④.通過元素xpath方法查找——xxx.find_element_by_xpath('')【選擇代碼塊右鍵Copy→Copy Xpath】【長路徑 單斜杠;短路徑 雙斜杠】【除了文本,一切xpath查找的屬性前都要加@】



⑤.通過手動書寫包含方法查找——xxx.find_element_by_xpath('//a[contains(text(),"")]')


⑥.通過class方法查找——xxx.find_element_by_class_name('')

![]()
⑦.通過link_text方法查找——xxx.find_element_by_link_text('')


⑧.同名元素處理——xxx.find_elements_by_XXX

3.selenium操作
①.智能等待——xxx.implicitly_wait(10)
②.消除原有數據——xxx.find_element_by_xpath('').clear()
③.退出 驅動瀏覽器退出——xxx.quit()
④.關閉當前窗口——xxx.close()
⑤.下拉框操作
#二次查找(先找父類,通過父類找到子元素):

#selenium封裝的方法:先導入Select

⑥.獲取文本
xxx.find_element_by_xpath().text
⑦.切換框架:xxx.switch_to.frame()
切除框架(切到默認框架):br.switch_to.default_concent()
⑧.鼠標操作:導入需要的庫

⑨.彈窗
通知型

需要輸入內容型

⑩.多窗口處理

?.鍵盤處理:導入庫

?.瀏覽器前進、后退、刷新(封裝好的內容,直接使用)
xxx.forward()
xxx.back()
xxx.refresh()
?.截圖:

?.滾動條操作
同步:之前的事情做完了有結果,下件事才開始
br.execute_script()
異步:一起做事情,誰先做完返回結果
br.execute_async_script()
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#滑動到底部
js=“var q=document.body.scrollTop=1000”
#滑動到頂部
js=“var q=document.body.scrollTop=0”
#執行js語句
br.execute_script(js)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#拖動元素到可見位置
ele=br.find_element_by_id('')
br.execute_script("arguments[0].scrollIntoView();",ele)
?.Selenium其他寫法(不支持link_text)
br.find_element('id','')
項目:
date:2018513 day08aft
一.自動化框架集成分層
1.config 配置(項目配置——測試環境,公司環境,線上環境;以中國人才熱線登陸為例,網址、用戶名、密碼等)

2.public 公共模塊(封裝方法,比如點擊元素、輸入內容、獲取文本等等)




3.Report 測試報告(里面存放測試報告以及截圖;已有資料,在Public導入HtmlTestRunner.py即可)

4.TestCase 測試用例(def setUp:執行測試前置條件(將public模塊中封裝方法的類實例化,便于后面調用類中的方法);def tearDown:測試后操作;test_login_0001:測試用例,斷言)
.py文件的class要繼承unittest

5.郵件(測試報告生成后自動發送郵件)
郵件服務器(在郵件設置里) 收件:pop pop3 發送:smtp
部分發送郵件服務器:smtp.126.com smtp.sina.com smtp.qq.com
構造郵件:標題 正文 附件 收件人
連接smtp服務器,賬號密碼登錄,再把構造郵件發出


6.Runcase.py 入口(定義用例路徑,定義報告路徑、報告名,加載運行用例)

7.Testdata 測試數據
8.Testtool測試工具