web自动化测试Day4

目标

下拉选择框;弹出框;滚动条操作;frame表单切换;多窗口切换;窗口截图、验证码处理

定位下拉框

select选择框

下标从0开始

#通过下标形式访问

#通过value值形式访问


注意事项

实例化select时候,需要的参数是select标签元素

调用select标签时候,通过索引、value属性值、显示文本去控制,不用click事件

弹出框处理!!!

案例

driver.find_element_by_css_selector('#alerta').click()

#切换到alert并返回

at=driver.switch_to.alert

#同意

at.accept()

#取消

at.dismiss()

#获取文本方法不通过括弧

alert.txt

滚动条

selenium中没有提供操作滚动条的方法,但是提供了可执行脚本js,可以通过js脚本来达到操作滚动条的目的

frame切换、多窗口切换!!!

Q:当前页面无法定位注册页面A和B

扩展

why切换窗口

driver.current_window_handle#获取当前窗口句柄

driver.window_handles#获取所有窗口句柄 只要不是当前的主窗口句柄,就一定是新开的窗口

如何切换?

截屏

失败截图,让错误看的更直观

driver.get_screenshot_as_file(imgpath)

imgpath:保存路径

验证码

selenium中没有对验证码处理的方法,以下几种

1.在测试环境,公司自己的项目 2.测试环境或线上环境,公司自己项目

3.识别率低,不推荐 4.推荐

cookie相关介绍

案例

使用cookie绕过百度登录

步骤:

cookies=driver.get_cookies()#获取所有信息,返回的是列表

设置cookie信息:

driver.add_cookie({'name':'BDUSS','value':'XXXXXX'})

相关推荐
持久的棒棒君2 小时前
npm安装electron下载太慢,导致报错
前端·electron·npm
crary,记忆4 小时前
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
前端·webpack·angular·angular.js
漂流瓶jz5 小时前
让数据"流动"起来!Node.js实现流式渲染/流式传输与背后的HTTP原理
前端·javascript·node.js
SamHou05 小时前
手把手 CSS 盒子模型——从零开始的奶奶级 Web 开发教程2
前端·css·web
我不吃饼干5 小时前
从 Vue3 源码中了解你所不知道的 never
前端·typescript
开航母的李大5 小时前
【中间件】Web服务、消息队列、缓存与微服务治理:Nginx、Kafka、Redis、Nacos 详解
前端·redis·nginx·缓存·微服务·kafka
Bruk.Liu5 小时前
《Minio 分片上传实现(基于Spring Boot)》
前端·spring boot·minio
鱼樱前端6 小时前
Vue3+d3-cloud+d3-scale+d3-scale-chromatic实现词云组件
前端·javascript·vue.js
zhangxingchao6 小时前
Flutter入门:Flutter开发必备Dart基础
前端
佚名猫6 小时前
vue3+vite+pnpm项目 使用monaco-editor常见问题
前端·vue3·vite·monacoeditor