4月初,班主任的某次周会议上,华华关切的问了一下:

最近班主任们有什么难题吗?就是花费了你们大部分时间的工作!我们Python天团可以帮你们解决问题。

班主任大主管星星说:有!目前有一个大难题。

我们每天都会对进群的学员登记他的真实姓名,联系方式,地址,目前薪资,期望薪资以及为什么会选择柠檬班~

然后对于所有学生的缴费情况都会去腾讯进行查验,确保学生有上课的权限,并且每次会提前提醒分期的同学按时缴纳分期费用,防止逾期而没有上课的权限。

华华:这不是so easy的事情吗?

星星:不easy,首先学生并不是一天来的,而是每天不同的班级都会有不同的学员入学,那么就要分类整理。

第二:每个学生的缴费信息方式不一样,有的是分期,有的是全款,有的是微信账号购买课程,所以为了把入群的qq和这些学费信息核对起来,真的是非常的困难!

华华:这好办,我帮你搞定(当然那是不可能的)。

会后,华华找到了Python天团的主管:小简大佬。

华华:小简大佬,班主任团队最近遇到了一个比较繁琐的问题,就是统计学生的信息比较费时,可以帮忙用Python自动化搞定吗?

简佬(小简大佬的简称):好的呀,有需求吗?我们团队的可优和雨泽可以帮忙做这个事情,你把需求搞定,我们最迟一周内交付,毕竟我们还有自动化测试和测试开发以及公开课的任务在身。

有Python天团的强有力支撑,那么就可以开始行动了!

于是:华华联合星星,疏导了班主任的工作流程以及数据来源,整理出了一份需求。

PS:各位亲爱的VIP学员们,你们的服务都来自于班主任的不辞劳苦!

关于学员信息统计:

包含了如下图所示的一些信息:

其中QQ来自QQ群,微信订单来自柠檬班内部的CRM系统,剩余的信息来自柠檬班的学员信息管理后台(由学员在柠檬班提供的表单上自行填写)。

经过几轮分析,确定数据来自这3个不同的地方。

PS:学生缴费信息统计这关系到学员是否有上课权限,是否会错过上课时间,非常重要!

但是这个信息会有2个问题:

1、如果学生是QQ报名的,那么可以直接根据QQ去统计信息。

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自动化;还有自动化面试题。

大家有需要的话,可以自己来找我领取!(我的微信:13327210224) 加我的时候还请备注:简书

python全栈自动化测试工程师第11期柠檬班vip_因为Python,班主任最近都开始化妆了!...相关推荐

  1. python全栈开发工程师招聘_如何成为Python全栈开发工程师?老男孩Python全栈开发...

    对于Python这门编程语言,想必大家都是比较熟悉的,但是说道Python全栈开发,很多人就有点不解是什么意思,接下来我们共同看看吧. 什么是Python全栈开发工程师?简单的来说就是从前端页面的实现 ...

  2. python全栈开发工程师招聘_浅谈Python全栈开发工程师,让程序员都眼红的职业!...

    若把学C/C++难度比作做冰箱设计师,那么Java就是公司做冰箱的工人,而Python就是使用冰箱的客户.这只是难度的比较,那么就有人要说Python肯定很弱了,是真的如此吗? 领域--------流 ...

  3. csdn最新最牛最细python系列【python高阶:自动化相关技能】 python全栈自动化测试系类4-4

    目录 [python之smtplib模块发送邮件] 1.tls模式加密 2.ssl加密,默认加密端口是465 MIMEApplication模块添加附件: [python编程之ini文件处理-conf ...

  4. python相关职业-浅谈Python全栈开发工程师,让程序员都眼红的职业!

    原标题:浅谈Python全栈开发工程师,让程序员都眼红的职业! Python Python 的排名从去年开始就借助人工智能与独特的魅力持续上升,现在它已经成为了第一名. 与其它编程语言相比所占的优势 ...

  5. 浅谈Python全栈开发工程师, 让程序员都眼红的职业!

    Python Python 的排名从去年开始就借助人工智能与独特的魅力持续上升,现在它已经成为了第一名. 与其它编程语言相比所占的优势 (私信小编001 .002 .003 .007任何一个即可自动获 ...

  6. python全栈开发工程师招聘_如何当一名优雅的Python全栈开发工程师?

    上海达内Python培训好就业吗?这就要看看Python的发展前景了.python前景当然不错,数据分析.机器学习.爬虫.运维.Web,都是很好的方向--那么还有一个问题,Python入门难不难?其实 ...

  7. python全栈开发工程师_【2018重磅巨献】老男孩Python高级全栈开发工程师第三期...

    2018年老男孩python全栈第三期老男孩python全栈3期 老男孩教育Python全栈开发为国内首家专注python全方面开发的教育机构 老男孩Python全栈第三期课程详细目录,高清不加密! ...

  8. python全栈开发工程师培训

    运维工程师的未来就是Python,学Python就要学全栈Python.全栈Python工程师是掌握多种技能,并能利用多种技能独立完成产品的人,可以说是啥都懂一些,架构,前端,后端,安全,应用, 代码 ...

  9. python全栈开发要学些什么_战争热诚的python全栈开发之路

    从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...

  10. 【阿里内部教程】python初阶:基础语法 python全栈自动化测试系类

    目录 很多小伙伴可能都没有看过凡哥的视频,所以大家可能对凡哥不是很了解这里先和大家来个自我介绍 凡哥我已经有着十二年互联网自动化测试和测试开发工程师,拥有丰富的自动化测试平台及测试开发经验,擅长接口测 ...

最新文章

  1. nexus 4 linux,Nexus 4刷机Ubuntu Touch教程
  2. 关于java和c的选择结构和循环结构
  3. 民间的 Pokémon 知识图谱
  4. 使用mss2sql将SqlServer转换为Mysql
  5. q160问题,www.q160.com,ie被篡改
  6. jQuery的延迟对象
  7. mybaits 字段设置null_为什么阿里巴巴禁止开发人员修改serialVersionUID 字段的值
  8. python多线程理解
  9. Docker搭建NSQ实时分布式消息集群
  10. Python爬虫从入门到放弃(二十)之 Scrapy分布式原理
  11. 剑指offer——32.从上到下打印二叉树
  12. Android 父类super.onDestroy();的有关问题
  13. 戴尔部分笔记本存GPU故障
  14. osgEarth世界坐标和经纬度坐标相互转换
  15. 程序员未来前景怎么样
  16. 2019年7月4日西藏17日之旅
  17. Invocation failed Unexpected end of file from server
  18. 2021年12月电子学会青少年软件编程(图形化)等级考试试卷(四级)答案解析
  19. 虚拟机启动network服务启动失败:ob for network.service failed because the control process exited with error code
  20. python中mysqldb的用法

热门文章

  1. 音乐推荐系统参考资料
  2. MOOC 浙江大学C语言翁恺(第一、二章 满分答案)
  3. 最常用高频汉字前4000
  4. 电子游戏发展史话——《doom启示录》读后感(三)
  5. android 9.0 开机动画,小米9开机动画安装器
  6. java excel 2007兼容包_Microsoft Office 2007兼容包
  7. 《数据结构:c语言版》(严蔚敏)知识点整合
  8. AutoCAD Civil 3D 2012正式发布
  9. cad2012打开后闪退_win10系统安装cad2012一直闪退的解决方法
  10. 如何防止SWF文件被反编译 如何防止SWF文件被反编译(2)