PO框架【自动化测试】

2024-04-25 04:28
文章标签 框架 测试 自动化 po

本文主要是介绍PO框架【自动化测试】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对象:Tpshop商城

需求:更换头像

在这里插入图片描述

操作步骤:

个人信息–头像–上传图片–图片确认–确认保存

在这里插入图片描述

核心代码:

# 进入frame框架[不熟]
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="layui-layer-iframe1"]'))
driver.find_element_by_xpath('//*[@id="filePicker"]/div[2]/input').send_keys('C:\\Users\\S3214\\Pictures\\Camera Roll\\boy.jpg')# 法1:直接定位“确认”按钮
driver.find_element_by_xpath('//*[@id="uploader"]/div[1]/div[3]/div[3]').click()
# 法2:【鼠标操作】双击该“确认”按钮
# double = driver.find_element_by_xpath("//*[@id='uploader']/div[1]/div[3]/div[3]")
sleep(5)  #注意设置等待时间!
# ActionChains(driver).double_click(double).perform()
driver.switch_to.default_content()

完整代码:

# coding:utf-8
from time import sleepfrom selenium import webdriver# 打开浏览器
from selenium.webdriver import ActionChainsdriver = webdriver.Chrome()#隐性等待
driver.implicitly_wait(10)# 打开网址
driver.get("http://localhost/index.php")# 打开登录页面
driver.get("http://localhost/index.php/Home/user/login.html")# 输入文字为了登陆成功
driver.find_element_by_xpath('//*[@id="username"]').send_keys('13800138006')
driver.find_element_by_xpath('//*[@id="password"]').send_keys('123456')
driver.find_element_by_xpath('//*[@id="verify_code"]').send_keys('8888')
driver.find_element_by_xpath('//*[@id="loginform"]/div/div[6]/a').click()# 校验用户是否正确
# name = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[2]/div[1]/div[2]/a[1]')
name = driver.find_element_by_class_name('mu-m-phone').text
if name == 'hello':print('登录成功')
else:print('账号不匹配,请查看:%s' % name)# 上传头像
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[1]/div/ul[4]/li[2]/a').click()
driver.find_element_by_id('preview').click()# 进入frame框架[不熟]
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="layui-layer-iframe1"]'))
driver.find_element_by_xpath('//*[@id="filePicker"]/div[2]/input').send_keys('C:\\Users\\S3214\\Pictures\\Camera Roll\\boy.jpg')# 法1:直接定位“确认”按钮
driver.find_element_by_xpath('//*[@id="uploader"]/div[1]/div[3]/div[3]').click()
# 法2:【鼠标操作】双击该“确认”按钮
# double = driver.find_element_by_xpath("//*[@id='uploader']/div[1]/div[3]/div[3]")
sleep(5)  #注意设置等待时间!
# ActionChains(driver).double_click(double).perform()
driver.switch_to.default_content()sleep(5)
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[2]/div/div[2]/form/ul[5]/li[2]/div[3]/input').click()

法1:直接法

# 法1:直接定位“确认”按钮
driver.find_element_by_xpath('//*[@id="uploader"]/div[1]/div[3]/div[3]').click()

法2:鼠标事件(双击)

# 法2:【鼠标操作】双击该“确认”按钮
double = driver.find_element_by_xpath("//*[@id='uploader']/div[1]/div[3]/div[3]")
sleep(5)  #注意设置等待时间!
ActionChains(driver).double_click(double).perform()

知识点:

IFrame切换

driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="layui-layer-iframe1"]'))

switch_to.frame:切换到iFrame
switch_to.default_content():跳到最外层(切换到主窗口)
switch_to.parent_frame():切换到上一级父窗口

鼠标操作

Selenium工具中全局鼠标操作语法如下:

第1步:初始化ActionChians类(动作链条):actions=ActionChains(driver)
第2步:找到要操作的元素:find_element
第3步:调用鼠标操作方法:actions.move_to_element(element)
第4步:执行鼠标操作方法:actions.perform()

参考文章:selenium之鼠标操作详解

续写参考文章:自动化测试po模式是什么

这篇关于PO框架【自动化测试】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933689

相关文章

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2