大家好,我是阿沐,我来了啊!
selenium_常见操作总结汇总
本节大纲
自动化之浏览器模式设置
窗口大小设置
多窗口(句柄)操作
切换frame操作
弹框处理
自动化之浏览器模式设置
我们做seleniumUI自动化测试时,每次都需要启动浏览器、用例运行结束后再关闭浏览器,浏览器启动相当地耗费时间,在本机运行用例的话还得放开双手,可以使用chrome的headless模式,让浏览器在后台运行,不需要加载样式和渲染,也可以让自动化测试更稳定。
对浏览器模式的设置常见的有:无头模式和手机模式两种
无头模式设置
无头浏览似乎是一个奇怪的术语,但它只是一个没有可识别的图形界面的浏览器或浏览器模拟的名称。与使用熟悉的图形元素测试站点或执行常见操作不同,用例是自动化的,并使用命令行界面进行测试。
无头浏览器通常用于以下场景:
1.网站及应用测试
2.JavaScript库测试
3.JavaScript模拟与交互
4.在后台运行一个或多个自动化UI测试
chrome无头模式设置
1.声明一个谷歌配置对象:opts=webdriver.ChromeOptions()
2.设置无头模式
•方式一:调用方法:set_headless()
•方式二:设置headless属性值,True->无头模式,False->正常模式
•方式三:添加参数方法:add_argument('-headless'),headless->无头模式,head->正常模式
3.实例化浏览器对象是注入配置选项:driver=webdriver.Chrome(chrome_options=opts)
Chrome无头模式设置-code
Firefox无头模式设置
1.声明一个火狐配置对象:options=webdriver.FirefoxOptions()
2.设置无头模式
•方式一:调用方法:set_headless()
•方式二:设置headless属性值,True->无头模式,False->正常模式
•方式三:添加参数方法:add_argument('-headless'),headless->无头模式,head->正常模式
3.实例化浏览器对象是注入配置选项:driver=webdriver.Firefox(firefox_options=options)
Firefox无头模式设置-code
窗口大小设置
窗口设置
设置窗口为指定大小:driver.set_window_size(540,960)
窗口最小化:driver.minimize_window()
窗口最大化:driver.maximize_window()
多窗口(句柄)操作
多窗口-句柄
有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了。那么该如何切换窗口呢?
在web应用中,每一个窗口都有一个对应的唯一句柄来进行标识,如果我们切换窗口,则只需要获取新窗口的句柄,然后切换句柄即可。这样我们就能在多个页面上灵活自如的操作了。
每一个窗口的唯一标识,每个窗口的句柄都不一样
1.获取当前句柄:driver.current_window_handle
2.获取所有句柄:driver.window_handles
3.切换句柄:driver.switch_to_window(句柄号)
案例
案例要求:进入百度首页,点击新闻按钮,在百度新闻界面任意点击一个链接
切换frame操作
iframe定位
在web应用中经常会出现iframe嵌套的应用,假设网站是一栋房子,那么iframe则是房子中的某一个房间,如果你要从房间里拿到东西,那么必须要新进入房间,才能拿到相应的内容。
定位ifarme:
1.selenium提供了switch_to.frame(iframe元素)的方法来进入iframe这个房间
2.selenium提供switch_to_default_content()的方法来退出iframe这个房间
案例
以163邮箱的网站为例,要求:输入用户名和密码,点击登录
网址:163网易免费邮--中文邮箱第一品牌
弹框处理
弹框
在web中常见的弹框类型有:Alter、confirm、prompt三种。并不是所有的弹出框都叫alert,在对弹出处理时首先要确定到底是属于哪一种,然后再用对应的方法去进行处理。
弹框操作的方法&属性
alert\confirm\prompt弹出框操作主要方法有:
1.switch_to_alert()首先要切换到alert弹出框上,才能做确定、取消等这些操作
2.accept():点击"确认"
3.dismiss():点击"取消"
4.send_keys():输入文本值--仅限于prompt,在alert和confirm上没有输入框
5.text:获取文本值
共同学习,写下你的评论
评论加载中...
作者其他优质文章