千纸鹤

  博客园  ::  :: 新随笔  ::  ::  :: 管理
  5 随笔 :: 70 文章 :: 0 评论 :: 9301 阅读
'''
web实操:实现一个从登陆到商品购买的整个流程
实现电商的商品添加购物车的流程:登录——搜索商品——商品详情页添加商品属性——添加至购物车——判断添加是否成功
'''
from time import sleep
from selenium import webdriver
from chrome_options import ChromeOptions

print('这是启动的自动化测试执行')
driver = webdriver.Chrome(options=ChromeOptions().options())
driver.implicitly_wait(10)
# 访问URL
driver.get('http://39.98.138.157/shopxo/index.php')

# 实现登录
driver.find_element('link text', '登录').click()
driver.find_element('name', 'accounts').send_keys('xuzhu666')
driver.find_element('name', 'pwd').send_keys('123456')
driver.find_element('xpath', '//button[text()="登录"]').click()

# 手机搜索
driver.find_element('id', 'search-input').send_keys('手机')
driver.find_element('id', 'ai-topsearch').click()
driver.find_element('xpath', '//img[contains(@alt,"苹果")]').click()

# 句柄的切换
handles = driver.window_handles
driver.close()
driver.switch_to.window(handles[1])

# 商品属性添加
driver.find_element('xpath', '//*[@data-value="套餐一"]').click()
sleep(1)
driver.find_element('xpath', '//*[@data-value="银色"]').click()
sleep(1)
driver.find_element('xpath', '//*[@data-value="64G"]').click()
el = driver.find_element('id', 'text_box')
el.clear()
el.send_keys('20')
driver.find_element('xpath', '//button[@title="加入购物车"]').click()

# 购物车页选择商品进入结算
driver.find_element('xpath', '//span[text()="购物车"]').click()
driver.find_element('xpath', '//*[@class="am-ucheck-icons"]').click()
driver.find_element('xpath', '//button[text()="结算"]').click()

# 结算
driver.find_element('xpath', '//*[@data-value="1"]').click()
driver.find_element('xpath', '//button[text()="提交订单"]').click()

# 断言校验
text = driver.find_element('xpath', '//span[text()="支付成功"]').text
assert '支付成功' == text, '支付流程失败,实际结果{}'.format(text)
posted on   隆江猪脚饭  阅读(27)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示