为了账号安全,请及时绑定邮箱和手机立即绑定

面了一个10K自动化工程师,selenium_常见操作都说不全。

大家好,我是阿沐,我来了啊!
selenium_常见操作总结汇总

本节大纲

  1. 自动化之浏览器模式设置

  2. 窗口大小设置

  3. 多窗口(句柄)操作

  4. 切换frame操作

  5. 弹框处理

自动化之浏览器模式设置

我们做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

https://img2.sycdn.imooc.com/610161f70001501f07200350.jpg

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

https://img2.sycdn.imooc.com/610161f80001e98907200359.jpg

窗口大小设置

窗口设置

设置窗口为指定大小:driver.set_window_size(540,960)

窗口最小化:driver.minimize_window()

窗口最大化:driver.maximize_window()

https://img3.sycdn.imooc.com/610161f80001526d04670536.jpg

多窗口(句柄)操作

多窗口-句柄

有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了。那么该如何切换窗口呢?

在web应用中,每一个窗口都有一个对应的唯一句柄来进行标识,如果我们切换窗口,则只需要获取新窗口的句柄,然后切换句柄即可。这样我们就能在多个页面上灵活自如的操作了。

每一个窗口的唯一标识,每个窗口的句柄都不一样

1.获取当前句柄:driver.current_window_handle

2.获取所有句柄:driver.window_handles

3.切换句柄:driver.switch_to_window(句柄号)

案例

案例要求:进入百度首页,点击新闻按钮,在百度新闻界面任意点击一个链接

https://img1.sycdn.imooc.com/610161f80001c2ba07200560.jpg

切换frame操作

iframe定位

在web应用中经常会出现iframe嵌套的应用,假设网站是一栋房子,那么iframe则是房子中的某一个房间,如果你要从房间里拿到东西,那么必须要新进入房间,才能拿到相应的内容。

定位ifarme:

1.selenium提供了switch_to.frame(iframe元素)的方法来进入iframe这个房间

2.selenium提供switch_to_default_content()的方法来退出iframe这个房间

案例

以163邮箱的网站为例,要求:输入用户名和密码,点击登录

网址:163网易免费邮--中文邮箱第一品牌

https://img3.sycdn.imooc.com/610161f8000155c907200624.jpg

弹框处理

弹框

在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:获取文本值

https://img1.sycdn.imooc.com/610161f90001014107200262.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件测试工程师
手记
粉丝
12
获赞与收藏
39

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消