欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

电商项目Web自动化测试实战

程序员文章站 2022-07-14 08:39:46
...

电商项目自动化测试实战

前言:

  • 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("aaa@qq.com")
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()

实现效果:
电商项目Web自动化测试实战

相关标签: 项目测试实战