4月初,班主任的某次周会议上,华华关切的问了一下:最近班主任们有什么难题吗?就是花费了大家大部分时间的工做!咱们Python天团能够帮大家解决问题。css
班主任大主管星星说:有。目前有一个大难题。咱们天天都会对进群的学员登记他的真实姓名,联系方式,地址,目前薪资,指望薪资以及为何会选择柠檬班~而后对于全部学生的缴费状况都会去腾讯进行查验,确保学生有上课的权限,而且每次会提早提醒分期的同窗按时缴纳分期费用,防止逾期而没有上课的权限。python
华华:这不是so easy的事情吗?mysql
星星:不easy,首先学生并非一天来的,而是天天不一样的班级都会有不一样的学员入学,那么就要分类整理。第二:每一个学生的缴费信息方式不同,有的是分期,有的是全款,有的是微信帐号购买课程,因此为了把入群的qq和这些学费信息核对起来,真的是很是的困难!web
华华:这好办,我帮你搞定(固然那是不可能的),会后找到了Python天团的主管:小简大佬。小简大佬,班主任团队最近遇到了一个比较繁琐的问题,就是统计学生的信息比较费时,能够帮忙用自动化搞定吗?面试
简佬(小简大佬的简称):好的呀,有需求吗?咱们团队的可优和雨泽能够帮忙作这个事情,你把需求搞定,咱们最迟一周内交付,毕竟咱们还有自动化测试和测试开发以及公开课的任务在身。 有Python天团的强有力支撑,那么就能够开始行动了!sql
因而:华华联合星星,疏导了班主任的工做流程以及数据来源,整理出了一份需求。(各位亲爱的VIP学员们,大家的服务都来自于班主任的不辞劳苦!)数据库
包含了以下图所示的一些信息编程
其中QQ来自QQ群,微信订单来自柠檬班内部的CRM系统,剩余的信息来自柠檬班的学员信息管理后台(由学员在柠檬班提供的表单上自行填写),通过几轮分析,肯定数据来自这3个不一样的地方。微信
可是这个信息会有2个问题: 1)若是学生是QQ报名的,那么能够直接根据QQ去统计信息。app
2)若是学生是微信报名的,那么须要根据加入班级群的QQ去CRM系统里面找到对应的微信号,而后进行QQ微信匹配后再去腾讯课堂查询,好比说Python17群学员的QQ是:1248***816(保护学生隐私,匿了中间三位数),是经过微信报名的,那么在CRM系统里面的微信帐号是:144115213097282684,咱们在腾讯课堂后台只能经过这个微信号才能惟一查询到支付信息,以下所示:
3)若是学生是分期的,那么还要点击到分期的详情页去查看,分期的支付状态并登记好以后几期分期的支付时间,好按期对学员进行提醒,以避免逾期。好比说Python17期某位学员的QQ是:792***306,那么查询到分期订单以下所示:
咱们须要点击“分期明细”,进入到分期的详情页里面去,才能看到学生的明确支付信息以及每一期的最后支付时间,以下所示:
需求整理完毕后,图文并茂的交给了简佬,固然part1部分的是简单的描述,尽可能让你们能够看的明白点,比较复杂的就不写出来了! 简佬就开始分发任务:可优大佬负责学生缴费信息的统计脚本,雨泽大佬负责学员信息统计脚本,至于具体的实现过程,固然要跟你们分享一下!由华华来进行文字整理,由于华华在这个过程当中充当了班主任和Python天团的桥梁和需求整理者。
1:首先从对应班集体的QQ群里导出学员的Q信息 2:而后从柠檬班内部的CRM系统里面导出学员的订单信息 3:两部分信息都保存至xlsx的文件里面,而后利用Python的openpyxl第三方库对两份数据进行比对,对学员是微信报名的信息与QQ进行匹配,最后完成的第一步效果以下所示:
4:而后根据学员的QQ信息,利用Python的Python-mysql-connector第三方库进行数据库查询,获取到学员的详细信息,以下所示:
脚本的话~~也截图小小的看看,部分代码,并不完整哦!学完柠檬班的Python自动化,你也能够!
1:利用学生信息统计的结果进行查询,若是QQ查询不到,就用QQ对应的微信号去进行查询
2:若是是全款,那么就直接登记信息,若是是分期,就登记分期连接,后期再单独进行分期详细信息的统计与登记。
3:以上两步是很是清晰的,实现方式无外乎就是web页面元素的定位,方式有多种,xpath css或id,可是这个脚本,有两个亮点要跟你们分享下,但愿你们之后遇到这个问题也能够用相似的方法去处理。
这里有两个显式的条件须要固定,一个是时间,咱们只查询2019年1月1号开始的订单,那么这里就设计到日历的固定于选择:
页面的HTML源码以下所示:
咱们可优大佬实现的方式是:
另一个须要固定的条件是:课程包名称,这个是非selected控件,通过观察是支持模糊查询,而且须要从模糊查询的结果里面选择对应的下拉元素才能够生效的! 页面的HTML源码以下所示:
咱们可优大佬实现的步骤是:先输入查询的课程条件(尽可能能够惟一肯定到惟一一个元素,而后选择下拉框的第一个元素,第0个元素显示的是“”所有“”),好比咱们输入的是:python全栈自动化测试工程师第7-19期,那么下拉框就会显示能够选择的课程包名称,实现代码以下:
效果以下所示:
咱们经过代码选择下拉列表的第一个元素,而后神奇的事情就发生啦!后面出现了隐藏元素,班级!
以下所示:
那么接下来就是选择班级,可是咱们的查询班级下拉框也是非selected的,并且不支持输入只能从下拉元素中选择,页面的HTML源码以下所示:
咱们实现的代码以下所示:
至此查询的难题已经所有实现,除了这里有点浪费时间,其余的都很是简单!
学习自动化,不只仅要学习Python编程能力还须要学习其余的知识,好比说正则!并且这些在柠檬班自动化的授课里面全都有!这里截取部分代码,仅供参阅!
这个过程从构思到实现,都是在工做日时间实现的,5月1号,此项目正式上线!而且已经部署到班主任专用的电脑上的jenkins上!这样能够定时的去跑任务啦!班主任也能够开始利用Python来武装本身了!这个年代,不学点自动化,都很差意思说本身是Python班的班主任啦!
若是最近你发现班主任们变美了,心情也美美哒,天天跟你说话都是元气满满的,那么必定是由于Python给他们工做减负,他们多了时间化妆和休息!
有兴趣的同窗能够多多关注柠檬班的Python自动化课程,能够找专业的Python自动化辅导员来领取专业的学习资料! 柠檬班等你好久了,特地为你准备了一波自动化测试秘籍,助你突破薪资技能瓶颈!
包括 Jmeter、Python编程、Selenium、unittest+Http技术+ddt;appium自动化;还有自动化面试题,以及项目案例分享。有兴趣的能够加我哦,免费送!