函數最重要的目的是方便我們重復使用相同的一段程序。
將一些操作隸屬於一個函數,以后你想實現相同的操作的時候,只用調用函數名就可以,而不需要重復敲所有的語句。
前面一些記錄了selenium的各種API,包括它的安裝,以及unittest框架中的testcase,testsuite等的操作,還有元素定位的知識點。
(學會元素定位,特別是xpath與css的定位方法,然后准備一份API文檔,方便自己查閱。)
掌握了這些知識后,基本上的線性自動化測試模型可以操作了。對於一個系統也可以做冒煙測試了。
剩下的就是模塊化與數據化了。(模塊化與數據參數化有利於開發與維護自動化腳本,線性重復,維護成本高。)
所謂模塊化就是把相同步驟的封裝成一個模塊。例如,登錄就可以封裝成一個模塊了。因為它只是用戶名與密碼不一樣,但是操作步驟是一樣的。
而且如果以后登錄模塊發生變化了,我們只要更改登錄那個模塊就可以了,其它調用登錄模塊的地方都不需要去修改了。
在學習這一塊的時候,就會涉及到開發語言的函數這一塊知識了。
總之,樹立一個思想,模塊化就是把重復使用的操作步驟的定義成一個函數,然后后續其它部分需要使用的話,就調用這個函數名。
具體涉及的一些函數的語法,規范,參數等知識,如何調用等,自己去深入學習。
我自己對編程語言的掌握也不夠扎實,正在努力中。
望諸君共勉。
寫一個例子吧:
定義一個LOGIN1函數:
from selenium import webdriver
def login1(driver,username,password):
driver.find_element_by_css_selector("input.userInput").send_keys(username)
driver.find_element_by_css_selector("ul.submitContent.mglr30.regMain>li:nth-child(2)>input").send_keys(password)
driver.find_element_by_css_selector("a.mainColorBtn.submitBtnBig.ClickShade").click()
link=driver.find_element_by_css_selector("a._personalInfo>i").is_displayed()
print (link)
print (u"登陸成功")
調用這個LOGIN1函數:
from selenium import webdriver
# from login3 import login1 #此處說明一下,PACKAGE的名稱是LOGIN3
# driver=webdriver.Chrome()
# driver.maximize_window()
# driver.implicitly_wait(10)
# driver.get("http://**************")
#
# username="ccc44400" ####此處我們可以設置不同的用戶名與密碼,來分別測試登錄的功能。
# password="ccc444"
#
# login1(driver,username,password) ####此處直接調用LOGIN1函數,
# driver.quit()