基礎:

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測試工具

 

selenium工作理