对Web界面进行简单自动化测试Selenium

一.公共函数

1.init 创建驱动对象和浏览器对象

自动安装 Edge 驱动 → 创建驱动服务对象 → 启动带参数的 Edge 浏览器 → 把浏览器对象保存在 self.driver

部分代码 功能
EdgeChromiumDriverManager().install() 下载并返回 Edge 驱动路径
Service(...) 用驱动路径创建服务对象
webdriver.Edge(...) 启动浏览器实例(传入驱动和参数)
self.driver = ... 把浏览器对象保存到当前类属性

2.截图

一个文件夹存储图片 为了分区哪天运行的,一天创建一个文件夹直接命名为当地时间,截图命名要明确 哪个函数 什么时候创建的,函数名+当地时间

1.dirname=datetime.datetime.now().strftime("%Y-%m-%d")

获取当地时间并格式化

2.sys._getframe().f_back.f_code.co_name

获取函数名

3.os.path.join("..", "images", dirname, filename)

拼接路径 -》 ../images/dirname/filename

4.driver.save_screenshot(path)

创建图片

二.登录界面测试

先获取公共的dirver,get传入url打开网页,进行测试。

1.先正常登录 找到元素.send_keys填写关键词 .click点击登录 assert判断有没有登录成功。

因为要在登录完成后的界面,继续进行操作 先back()后退到上一个登录界面。

此时还要上次输入的关键词,先clear清除 再进行输入。建议在每次输入关键词前都进行一次clear 防止关键词累加

三.博客首页测试

博客首页测试可以分为登录 非登录状态下

分别判断 首页下各个元素是否存在

测试完登录界面后面继续测试首页(登录状态),怎么搞?

新建文件 导入测试类的对象 通过对象调用测试方法

if name == 'main':

在下进行对象的调用

调用完成后再退出

就代表:这些测试代码只在你直接运行 RunTest.py 时执行,不会在其他地方导入时乱执行,保证了模块的可重用性和清晰结构。

相关推荐
名字还没想好☜4 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
ltl4 小时前
Serverless 数据库弹性理论:Neon 与 Aurora Serverless v2
数据库
用户938515635075 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战
前端·设计模式·typescript
CodeSheep5 小时前
稚晖君公司人事大变动,来了!
前端·后端·程序员
鱼樱前端5 小时前
用 AI 做内容变收入
前端·人工智能·ai编程
浮生望6 小时前
React + TypeScript 组件设计进阶:从类型约束到无状态组件的三次进化
前端
90后的晨仔6 小时前
Mac 开发 uni-app 终极方案:让安卓模拟器彻底脱离 Android Studio 独立运行
前端·vue.js
90后的晨仔6 小时前
别再搞混了!uni-app 中 node_modules 和 uni_modules 到底是什么关系?
前端
kyriewen7 小时前
面试官问"这段逻辑为什么这样写"——我才发现,这半年我写的代码,我自己都解释不了
前端·javascript·面试
谢小飞7 小时前
大文件上传很难?学会这招,GB文件秒传不是梦
前端·node.js