web自动化测试(三)Selenium+beatuifulsoup

little bottle
发布: 2019-04-10 13:14:57
转载
2178人浏览过

关于Selenium的自动化测试,函数的使用,网上有太多的基础教程了,我这里就不在一一列举了,大家可以自行参考其他教程或者官方网站。本文中主要探讨一下web自动化测试的方案设计,以及小编个人认为的难点。

系统架构

如下图,在我们后台自动化测试框架的基础上(此图web扩展的部分架构,其他部分涉及到公司保密,没展现在图里面),扩展了selenium,在selenium的基础上扩展了页面对象的设别,引入重试加倍延迟等待时间机制来提高设别成功率。 page action模块里面统一实现了页面动作,一个函数实现了一个动作,保证每个页面动作的独立性,所以如果后面的版本中需要增加不同的执行步骤组合,只需要调用里面的函数即可。

数据获取模块,分了三层,分别是数据库数据获取模块,页面数据获取模块,  web application log的的数据获取模块。通过这种方式可以很容易组织好团队里的各个成员,每个人实现自己最擅长的模块,快速集成。

这里写图片描述

web自动化测试的很大一个需求来源是浏览器的兼容性测试,所以在框架设计上必须考虑如果一次性测试多个浏览器。 博主的方案是对测试用例集放到每个浏览器实例里面,一个浏览一个浏览器的顺序执行。

页面element 的定义与解析

页面元素的定位,一直以来是web自动化测试的一个难点,因为很多公司的web开发者实现的代码并不规范。 尽管如此,大家在实现自动化测试的时候,尽量还是避免使用css, xpath去定义,可读性,维护性太差。尽量使用id, name, class name去定义。对应一些没有id, name, class name的element,尽量试试用find_elements_by_tag_name 然后解析其属性来定位element,或者使用find_element_by_xpath(“..”), find_element_by_xpath(“../..”) 来查找上级或者上上级element。

白瓜面试
白瓜面试

白瓜面试 - AI面试助手,辅助笔试面试神器

白瓜面试40
查看详情 白瓜面试

利用beatuifulsoap 来解析

Beatuifulsoap因为强大的解析功能,被用着很多爬虫说解决方案里面,如果爬虫的功能都能满足,自动化测试的需求当然可以全部满足。博主结合find_element_by_xx(table_id).get_attribute(‘innerHTML’) 和beatuifusoup 在目前所做的项目里面几乎没有遇到不可以解析和定位elements. 比如一定动态的id 或者 name者,先通过beatuifulsoap的模糊匹配,然后通过解析其他属性来定位id或者name的,再调用find_element_by_xx 就可以实现完美的定位方案。 妈妈再也不担心开发人员不写id,或者name值

【推荐课程:Python视频教程

以上就是web自动化测试(三)Selenium+beatuifulsoup的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号