这篇文章将为大家详细讲解有关python selenium如何搭建自动化测试框架?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联公司致力于互联网品牌建设与网络营销,包括成都网站设计、成都网站制作、外贸网站建设、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队10余年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。设计思路本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享。
框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。
1、使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性;
2、使用yaml管理页面控件元素数据和测试用例数据。例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的页面元素yaml文件中修改即可;
3、分模块管理,互不影响,随时组装,即拿即用。
GitHub项目地址:https://github.com/yingoja/DemoUI
测试框架分层设计如下思维导图目录结构介绍:
编写用例方法login.yaml
testinfo: - id: test_login001 title: 登录测试 info: 打开抽屉首页 testcase: - element_info: login-link-a find_type: ID operate_type: click info: 打开登录对话框 - element_info: mobile find_type: ID operate_type: send_keys info: 输入手机号 - element_info: mbpwd find_type: ID operate_type: send_keys info: 输入密码 - element_info: //input[@class='keeplogin'] find_type: XPATH operate_type: click info: 单击取消自动登录单选框 - element_info: //span[text()='登录'] find_type: XPATH operate_type: click info: 单击登录按钮 - element_info: userProNick find_type: ID operate_type: perform info: 鼠标悬停账户菜单 - element_info: //a[@class='logout'] find_type: XPATH operate_type: click info: 选择退出 check: - element_info: //div[@class='box-mobilelogin']/div[1]/span find_type: XPATH info: 检查输入手机号或密码,登录异常提示 - element_info: userProNick find_type: ID info: 成功登录 - element_info: reg-link-a find_type: ID info: 检查退出登录是否成功