失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 阿沐帮大家总结了自动化基本操作——selenium_常见技巧

阿沐帮大家总结了自动化基本操作——selenium_常见技巧

时间:2020-02-21 18:16:43

相关推荐

阿沐帮大家总结了自动化基本操作——selenium_常见技巧

本节大纲

自动化之浏览器模式设置窗口大小设置多窗口(句柄)操作切换frame操作弹框处理

自动化之浏览器模式设置

自动化之浏览器模式设置

我们做seleniumUI自动化测试时,每次都需要启动浏览器、用例运行结束后再关闭浏览器,浏览器启动相当地耗费时间,在本机运行用例的话还得放开双手,可以使用chrome的headless模式,让浏览器在后台运行,不需要加载样式和渲染,也可以让自动化测试更稳定。

对浏览器模式的设置常见的有:无头模式和手机模式两种

无头模式设置

无头浏览似乎是一个奇怪的术语,但它只是一个没有可识别的图形界面的浏览器或浏览器模拟的名称。与使用熟悉的图形元素测试站点或执行常见操作不同,用例是自动化的,并使用命令行界面进行测试。

无头浏览器通常用于以下场景:

1.网站及应用测试

2.JavaScript库测试

3.JavaScript模拟与交互

4.在后台运行一个或多个自动化UI测试

Chrome无头模式设置

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邮箱的网站为例,要求:输入用户名和密码,点击登录

网址:

弹框处理

弹框

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

微信搜一搜【程序员阿沐】关注这个文绉绉的程序员,关注后主页点击【领取资料】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!

————————————————

如果觉得《阿沐帮大家总结了自动化基本操作——selenium_常见技巧》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。