在Web端自動化測試中,登錄和退出功能是主要測試的功能之一,網站的資源訪問、信息查詢等功能都需要在正常登錄的狀態下才能正常訪問。下面以測試博學谷網站的登錄和退出功能為例講解Web應用程序的自動化測試。
1.選擇測試使用的瀏覽器
打開Pycharm,導人Selenium自動化測試腳本需要的庫。定義測試使用的瀏覽器,可使用不同瀏覽器進行測試,本案例在測試時使用火狐瀏覽器進行測試。測試代碼如下所示。
#?導人Web測試驅動庫from?selenium?import?webdriver#導人交互操作ActionChains(鼠標指針懸停、滾動、拖放等操作)from?selenium.webdriver.common.action?chains?import?ActionChains#選擇需要測試的瀏覽器driver=webdriver.Firefox()#等待加載超時時間driver.implicitly_wait?(30)#?打開博學谷主頁driver.get("https://www.boxuegu.com/")
需要注意的是,使用不同瀏覽器測試時,需要安裝測試瀏覽器的驅動。
2.登錄和退出自動化測試
配置完成測試使用的測覽器后,使用瀏覽器自帶的開發工具查看頁面屬性,也可以使用Katalon?Recorder工具獲取網頁屬性信息。
打開博學谷網頁,查看登錄和退出元素所在位置。由于退出操作只有當鼠標指針懸停。
在【個人中心】時,在彈出的菜單中單擊【退出】選項才能退出登錄,因此在退出時,需要先獲取【個人中心】按鈕屬性信息進行鼠標指針懸停操作,然后在彈出菜單中單擊【退出】測試代碼如下所示。
#?獲取登錄按鈕ID進行單擊操作driver.finde_lement_by_id("login-button").click()#選定賬號輸人框driver.find_elements_by_xpath("/html/body/div[13]/div/div/div[2]/div[1]/input")#輸入賬號driver.find_element.by_xpath(u"(.//*[@id='login']/div/div/div[2]/divl[]/input)").send?keys('賬號')#選定密碼輸入框driver.find_elementby_xpath("/html/body/div[13]/div/div/div[2]/div[2]/input")?.click()#輸人密碼driver.find_elementby_xpath(u"(./html/body/div[13]/div/div/div[2]/div[2]?/input)").send_keys('密碼')#單擊[登錄]按鈕driver.find_element?by_xpath("/html/body/div[13]/div/div/div[2]/button").click()#定義需要查找的屬性信息mouse=driver.find_element_by_id("personal")#鼠標指針懸停操作,鼠標指針指向個人中心菜單后會顯示下拉菜單ActionChains(driver).move_to_element(mouse).perform()#在[個人中心]的下拉菜單中單擊[退出]選項driver.find?element_by_css_selector("span.sign-out").click()
在上述代碼中,使用的網頁屬性有id、xpath、CSS?Selectoro編寫測試腳本有一定難度,要求測試人員熟練掌握WebDriver驅動接口腳本語言Python?API,讀者可以通過參考官方API手冊進行測試練習以迅速熟悉Web網頁測試。
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281