13306647218

公司动态

Company dynamics

seo优化中如何选择高效的自动化测试框架

作者:蓝梦seo专业企业网站优化时间:2020-07-13 14:12:33

这个web自动化测试框架真香!

在Web自动化测试中,应该很难绕过硒体系结构。许多声称是超级硒的下一代Web自动化测试框架最终都失败了。

但是,selenium的api确实很复杂,因此也有很多库试图将其封装在较高的级别,而splinter是最先进的库之一。

在本文中,我们将简单介绍splinter。如果您认为硒足够好,也可以参考碎片设计来重新包装硒。

一、快速使用

mf_5e0182db98832.jpg

浏览器将自动打开:

mf_5e0182dba7d74.jpg

二、安装

▲pip安装碎片

▲安装浏览器驱动程序。驱动程序和浏览器型号版本必须对应。

驱动下载步骤:

▲打开下载地址:

▲选择驱动程序版本。例如,如果使用chrome浏览器v78,则可以下载版本78的驱动程序。

▲解压缩文件并将其放在环境变量中(例如,在python根目录中)。

三、浏览器选项

mf_5e0182dbc276a.jpg

四、元素查找

元素查找的方式基本上沿用了selenium:

▲id

▲名称

▲CSS选择器

▲xpath

mf_5e0182dbcf0bb.jpg

但是也新增了一些用得比较多的方式:

▲文字

▲href属性

▲值属性

mf_5e0182dbd11f1.jpg

搜索的方法有很多,但实际上效果不大,但是会导致框架代码混乱。最好直接保留xpath和CSS。

实际上,元素搜索有一种更简洁的__call__方式来实现,如果您有时间说的话,我将不在这里详细介绍。

五、等待

与硒的等待相比,碎片的友好性要好得多。

可以在初始化浏览器时设置全局等待时间。所有后续的元素搜索将基于此超时:

mf_5e0182dbd2de6.jpg

判断和匹配:

如果您已使用硒,则可能对使用显示等待感到不安。确实很难使用。碎片的匹配器机制类似于显示等待。当然,最好使用它: mf_5e0182dbe5399.jpg

尽管更易于使用,但此方法仍然具有与元素搜索相同的问题:API过于复杂,乍一看源代码令人头晕。

亲爱的朋友们,您能想到一个简化的解决方案吗?

mf_5e0182dbf1197.jpg

六、input元素输入

mf_5e0182dc00282.jpg

七、窗口管理和切换

窗口管理和切换是最有用的分裂方法,因为硒管理窗口的方式非常原始,并且几乎没有封装就不可能使用它。

splinter使用特殊的Window类来管理窗口:

mf_5e0182dc02044.jpg mf_5e0182dc7f3ae.jpg

碎片对于窗口管理的实现非常有趣。了解python魔术方法和描述符的学生可以查看源代码。

iframe切换使用上下文管理器。您只需要完成iframe切换,它就会在每次执行后自动退出。

mf_5e0182dc93fce.jpg

八、总结

▲Splinter比硒更易于使用,但由于它只是硒外部的外壳,因此总体架构和过程都没有改变。

▲Splinter的API管理非常复杂。对于一些很少使用的方法,这无关紧要;

▲ splinter对于浏览器的一些复杂操作做了很好的封装:

Windows管理

iframe开关

选择选择器处理

鼠标操作

特别是,表单和输入更加精简

▲缺乏文件上传处理

▲需要优化元素搜索和管理

本文由柠檬班雨泽老师原创,转载需注明出处!