ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

感觉Selenium不好学?那你可能需要的是Helium

2021-11-04 13:33:14  阅读:214  来源: 互联网

标签:浏览器 小伙伴 Selenium 测试 不好 Helium 软件测试


在这里插入图片描述

做Web自动化的小伙伴们都知道Selenium,可以全面模拟各种网页上的键盘、鼠标、事件。Selenium虽好,但是定位并不容易,不论CSSselector,还是XPATH,学习曲线也还是有的。

有没有更简单的Web自动化测试工具?

有!老司机今天给大家介绍一个比Selenium更简单的自动化测试工具——Helium

Helium是Python的一个类库,需要事先用pip方式安装:

pip install helium

确保Chrome或者FireFox浏览器已经安装。不需要配合Firefox和Chrome浏览器的驱动Geckodriver不需要ChromeDriver。从安装上,Helium就开始走简约路线了。下面举几个具体例子,小伙伴们一起看看Helium的让人瞠目结舌的简洁。

01 打开一个百度首页,执行搜索

Helium的代码如下:

图片

定位都省掉了,太简洁了!Helium不香吗?

如果启动火狐浏览器,那么只需要使用 start_firefox()就可以了。

02 等待DOM元素出现

Helium的代码只需要一行:

在这里插入图片描述

让我们对比一下Selenium的写法:

图片

是不是Helium快多了?

03 点击网页上的链接

在网页上定位到某个链接,再点击,这是Web自动化测试的基本步骤,用Helium实现起来,又双叒叕是短短一句话搞定

图片

小伙伴,你没看错,

“找到‘新闻’链接,再点击该链接”

就是click(Link(“新闻”)) 这么短短一句…

老司机试验到这里,已经觉得Helium让自动化测试真的降了不止一个难度。但是这就够了吗?还有更惊悚的操作!

图片

还是百度首页上,点击“新闻”右侧的那个链接。小伙伴们可以自行脑补一下Selenium怎么定位的。

Helium的操作,让老司机惊掉下巴——又是短短一句话搞定:

图片

只加了“to_right_of=”,搞定!简单到难以置信!

04 高级功能:无界面浏览器

某些特殊情况下,小伙伴们在执行自动化测试时候,不需要真的出现一个浏览器窗口。我们通常把这种叫做“无页面浏览器”操作。典型的代表是PhantomJS。

不需要任何外援,只需要一个参数“headless=True”,Helium自己就可以做到:

start_chrome('www.baidu.com', headless=True)

看了上面这么多例子,小伙伴们想问:究竟Helium是何方神圣?

  • 其实Helium是Selenium Python的高阶封装,屏蔽了很多细节。官方表示:完成同样功能,Helium比Selenium少30% ~ 50% 代码量。

  • Helium是一个开源框架,还在继续开发中,目前只支持Firefox和Chrome两种浏览器。

此外,helium还有更多优点:

  • Web Driver管理:helium自带ChromeDriver和Geckodriver的副本,所以用户不需要下载浏览器驱动并配置路径上。相对于Selenium3,不要太友好!

  • iFrame处理:与Selenium不同的是,Helium可以自由交互不同iFrame中的元素,而不用“switch to”来切换。

  • 窗口管理:Helium会注意弹出窗口的打开或关闭,并像用户一样聚焦/切换。用户还可以通过窗口标题的(甚至部分标题)轻松切换到窗口。不再需要迭代Selenium窗口句柄。

  • Implicit waits:默认情况下,如果Selenium用户尝试单击DOM元素,但该元素尚未出现在页面上,则脚本将失败。而Helium会最多等待10秒,只等元素出现。

  • Explicit waits:Helium提供了一个更好的API来等待web页面上的条件成为现实。

最后,Helium是个开源项目,项目地址:http://8rr.co/M3V7

小伙伴们可以自己贡献代码,为Helium添砖加瓦!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

标签:浏览器,小伙伴,Selenium,测试,不好,Helium,软件测试
来源: https://blog.csdn.net/AI_Green/article/details/121140529

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有