Selenium [求助帖] 想对 Selenium 进行更深入更进阶的了解和学习,现在却很迷茫找不到方向,想请各位朋友提提建议。

Duke · 2022年04月18日 · 最后由 better than yesterday 回复于 2022年04月23日 · 6846 次阅读

先来个简单的自我介绍。
小弟是一名测试,自学的 Python 和 Selenium。 目前 Python 掌握了基本的使用方法,可以写一些本地的脚本。 对 Selenium 的使用方法也有基本了解,几种元素的定位方式也都有所了解,曾经写过 ‘从 Web 下载指定文件’ 类似这种程度的脚本。
针对 Selenium,个人理解,目前看的资料都很基础了,所以想找些有深度的资料再学习一下。目前有两个地方比较迷茫:
一。 如何可以更深入,进阶的继续学 Selenium 呢,个人理解,我目前只是学到了 Selenium 的皮毛。 下一阶段,我该学习 Selenium 的什么内容吖 ~
二。 想找一些项目来做做,主要是练习对 Selenium 的使用,在网上已经找了几天, 例如搜索 “如何进阶学习 Selenium”“ Selenium 深度学习”, 但是搜出来的内容,还是那些基本的内容,指导大家如何安装 webdriver, 如何用 find_element_by_xxx 定位元素再执行预期动作。所以,哪里可以实践使用 Selenium 的项目吖?

还请路过的各位,不惜赐教,谈谈自己的理解吧。 不一定必须是 Selenium 大佬才有资格回答这些问题, 大家互相交流观点,也许不经意间的一句话,就能让其他人茅塞顿开。

希望通过咱们的交流,可以让大家对 Selenium, 对测试,对未来的发展,有更进一步的提升 ~

共收到 26 条回复 时间 点赞

學習 PO 模式,找個簡單的測試框架自己改改用用,理解一下分層設計,把業務外的東西交給框架處理,自己專注於業務,熟悉之後可以自己做封裝來更加貼合自己的需求

最进阶的就是学习源码,看下底层实现。

现在搞这个的很少了 学这个感觉晚了哟

Duke #4 · 2022年04月18日 Author
refrain 回复

请问下, 什么是 PO 模式吖 ~

Duke #5 · 2022年04月18日 Author
🔥🔥🔥 回复

哦,您说的这个倒是一个新的方向。之前想应用什么方法或者该如何解决问题的时候,都是 baidu 解决方案。 没有从源代码的角度,正向研究如何使用。 多谢您的建议 ~

我的愚见:作为测试不一定要挖深 selenium,能多实战是很重要的。之前我也自学过一段时间 selenium,看来看去也就那几句话;后来在公司项目尝试去做 ui 自动化,从 0 到 1 一步步搭建起来,并完善它。这个过程你能学到很多基础/冷门的东西,也能更牢固的掌握各种方法。

我提一点:你知道如何和 grid 执行机 所在的机器 进行交互 么?

🔥🔥🔥 回复

这是个坑,不建议深入,或者说 投入产出不成比例,性价比不高

想要提高,可以按照下面这个依据来:
你的所作所为 产生了什么业务价值,解决了什么问题?

所以,哪里可以实践使用 Selenium 的项目吖?

日常你测试的 web 站点相关用例,有改为用 selenium 来帮助你完成它吗?如果没有,可以从这里实践起来。很多所谓的高级技巧,其实就是当项目复杂到一定程度时演进出来的技巧。项目复杂度没上来,学这些其实不大容易理解和代入。

Duke #11 · 2022年04月19日 Author

哦,是嘛。我是打算先从一个框架入手,学习学习,未来如果需要应用其他的框架,也好过渡一下~

Duke #12 · 2022年04月19日 Author
王德法 回复

目前我做的事情也就是个测试执行, 我个人不太想长期做一名测试执行, 所以我未来想做一些测开或者自动化方便的工作。您说的要在项目上面实践,一步步完善, 这个我完全赞同,所以帖子当中求助了下各位,在哪里可以找一些项目来实践一下。 不过我昨天开始打算自己开始做点东西,练一练技术, 感谢您的建议~

Duke #13 · 2022年04月19日 Author
测试游记 回复

感谢您的建议~

Duke #14 · 2022年04月19日 Author
树叶 回复

是指单纯的听过 Selenium hub & node 类似这样的结构吧, 您的建议是进阶部分看看这个结构嘛?

Duke #15 · 2022年04月19日 Author
陈恒捷 回复

嗯嗯, 是的,您说的很对。 我自己工作上面的内容,可能应用不到 selenium 了, 所以我自己想找个项目练练手,也是从这个方向继续学习, 感谢您的建议 ~

Duke 回复

工作上用不到 selenium 的话,感觉想要深入学习 selenium 会相对难一些, 我意思是你可以自己搭建一个 selenium hub-node 的结构,自己跑了试试

Duke #17 · 2022年04月19日 Author
树叶 回复

好的, 我去看看您说的结构, 感谢 ~

Duke 回复

建议优先学习你工作上用得到的相关工具吧,selenium 跑个 demo ,做个笔记记录下来,便于后续工作上用到可以快速捡起来就可以了。

工作上用不到,很多东西你比较难接触到,虚拟项目和实际项目还是有很大差异的。比如之前社区有挺多同学提问那些基于 vue 或者 react 写的控件,selenium api 直接操作没有效果,这类不在实际项目里面用,不一定会遇到。

Duke 回复

page object,就一種 UI 自動化最基本的設計模式,其實這些都簡單,難的是你真的想用這些東西去在實際項目裏落地、去提升測試效能。不過對新手來説還是先搭起來實踐了再說,接觸多了自然就會往更上層考慮。

Duke #20 · 2022年04月19日 Author
refrain 回复

明白, 感谢您的建议 ~

亲,这边是建议不学,学接口、性能就完事了

Duke #22 · 2022年04月21日 Author
Stay 回复

想脱离手动测试, 做点自动化相关的内容,所以找了这个入手学习学习~

Selenium 想做深入的学习,个人建议有以下几个方向:1,自动化架构设计,无论是 PO 模式,还是数据驱动型模式,做好架构设计,提高代码重用率,降低用例维护成本,添加业务辅助需求。2,框架二次开发,针对固定的业务,做高度定制化,封装固定的业务操作,降低业务同学自动化测试开发的成本。3,引入图像识别和 AI 技术,通过图像识别降低用例元素识别和检测的成本,提高速度和效率;通过 AI 进行场景识别,自动生成测试计划。4,引入性能分析,操作录制等功能,可以自动化的使用场景。5,以 Selenium 为底层技术,构建 UI 自动化测试质量保障体系。个人工作经验积累,仅供参考!

Duke #25 · 2022年04月21日 Author
爱偷懒的QA 回复

感谢您的建议,您的这些建议对我这个小白来说,已经很全面了~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册