電商項目Web自動化測試實戰

電商項目自動化測試實戰

前言:

  • Web自動化主要是功能自動化和部分功能的兼容性測試
  • Web自動化主要針對:主要流程和重要功能的自動化(有效等價類、異常場景)

測試準備: TPshop開源電商項目
測試業務場景: 登錄->搜索->添加購物車->結算->確認訂單->支付(不能使用)
實現思路: 使用Python+Selenium的語言,打開瀏覽器進入網站,找到元素(xpath、cass),操作元素(點擊,輸入,懸停等)
注意事項:

  1. 添加隱式等待
  2. 注意iframe
  3. 注意特殊情況的固定

自動化代碼:

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains

#打開電商首頁(未登錄)
driver=webdriver.Firefox()
driver.implicitly_wait(20)   #隱式等待
driver.get("http://127.0.0.1/")

#-----------------------------------登錄--------------------------------
driver.find_element_by_css_selector(".red").click()   #點擊登錄按鈕
#輸入用戶名和密碼
driver.find_element_by_css_selector("#username").send_keys("[email protected]")
driver.find_element_by_css_selector("#password").send_keys("dpl12345")
#這裏睡眠十秒爲了手填驗證碼,沒法子了!
sleep(10)
driver.find_element_by_css_selector(".J-login-submit").click()
#----------------------------------搜索----------------------------------
driver.find_element_by_class_name("search_usercenter_text").send_keys("手機")
driver.find_element_by_css_selector(".search_usercenter_btn").click()
sleep(2)
#----------------------------------加入購物車-----------------------------
#選擇一個商品
driver.find_element_by_xpath("html/body/div[4]/div/div[2]/div[2]/ul/li[4]/div/div[1]/a/img").click()
sleep(2)
driver.find_element_by_css_selector("#join_cart").click()       #添加購物車
#進入iframe添加成功彈出框
driver.switch_to.frame(driver.find_element_by_id("layui-layer-iframe1"))
sleep(2)
driver.find_element_by_css_selector(".ui-button.ui-button-f80.fl.go-shopping").click()    #繼續購物
#退出彈出框
driver.switch_to.default_content()
sleep(2)
#----------------------------------結算-----------------------------------
#進入購物車
# driver.find_element_by_css_selector(".c-n.fl>span").click()
#鼠標懸停到我的購物車
action=ActionChains(driver)
action.move_to_element(driver.find_element_by_css_selector(".c-n.fl>span")).perform()
sleep(1)
#點擊去購物車結算
driver.find_element_by_css_selector(".c-btn").click()
sleep(2)
checkBox=driver.find_element_by_css_selector(".check-box.checkCart.checkCartItem")
if checkBox.is_selected():
    checkBox.click()
checkBox.click()
sleep(2)
driver.find_element_by_css_selector(".gwc-qjs").click()      #去結算
sleep(2)
#----------------------------------確認訂單--------------------------------
driver.execute_script("window.scrollTo(0,100)")           #執行js控制滾動條
sleep(2)
driver.find_element_by_css_selector(".Sub-orders.gwc-qjs").click()    #確認訂單
sleep(3)
#----------------------------------支付------------------------------------
#選擇支付方式
driver.find_element_by_xpath(".//*[@id='cart4_form']/div/div/dl/dd/div/div[2]/ul/li[3]/div/label/img").click()        #選擇支付方式
sleep(2)
#去支付
driver.find_element_by_css_selector(".button-style-5.button-confirm-payment").click()
sleep(4)
driver.quit()

實現效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章