苹果平板可以编写python吗_【python开发】迈出第一步,这可能是我唯一一次的Python开发了...

好久没写博了,今天就瞎唠唠吧

背景:

组内有个测试平台,是基于Python2+tornado 框架写的,之前自己维护了一套系统的UIweb自动化代码,现在需要集成进去。这很可能是自己唯一一次基于python开发了,后面组内要换java。

难点:

其实开发内容很简单,但是由于之前只写接口、UI这样的自动化,开发没实操过,难点来源于没实操过,

比如:ajax交互、js、轮询等等。反正不懂的就搜,不能搜怎么写代码 /认真脸

https://cn.bing.com/

http://google.com/

翻不了墙的就用bing吧,也不错。

设计尝试

由于一直没有解决掉如果在vue实现的前端页面下,通过属性赋值这样的操作去上传图片(随着学习vue,希望可以找到解决方法)。

故我一直都是采用的autoit这个window程序去实现的上传图片操作,其实也蛮稳定的。

只不过受制于这个程序,我不能将我的UI自动化脚本在Linux上执行,也不能实现无ui的执行。所以呢,综上所述,我只能把我的脚本放在一台执行脚本专用的window机器上执行。

这个前提条件确定下来了,我就得想怎么实现了。

为了更好让集成到测试平台里,让我的脚本更具灵活性,我想到了使用selenium-Grid的方式,由linux去执行脚本,然后调用远程的window机器去执行脚本,看起来不错哦。好的,学习grid,

调试grid,一切顺利。直到最后一步需要见证奇迹的时刻,果然。。。

失败了,为什么呢?因为当执行到调用autoit的.exe程序时候,是从脚本执行的机器上去找的。wtf, 算了 ,工期将至,先实现一版用起来吧(流下了没有技术的泪水o(╥﹏╥)o)。

设计实现方案确定

这时候我发现了python-jenkins这个第三方库,提供了丰富的API操作Jenkins的方法。

所以我的方案hi:在测试机器上本地启动一个jenkins服务,然后通过python-jenkins去调用jenkins提供的API去运行测试脚本,再jenkin集成allure生成一个漂亮的报告,行得通哦。

需求功能确定

需求确定:

可以在 case模块跟mark标记里去选择要执行的测试用例

case模块就不用说了,就是这个

mark标记,就是pytest框架里的mark标记功能,可以给case上打上你定义的mark,然后执行时候可以指定mark去执行被标记的case,场景比如:你标记出冒烟需要的case,打上smoke

然后执行测试:pytest -m smoke 就可以啦

可以查看测试机器的状态

因为就一台机器,所以一个人在执行测试的时候,其他人再点击执行就不行啦,只要机器不是空闲的,就把执行测试的按钮置灰。

然后列表页展示相关信息,可以查看测试报告

这个就是通过API去获取任务执行情况了,然后把allure报告地址也给返回到前端

功能实现

终于到撸代码的时候了,因为这个平台是用Python的开发框架 tornado+bootstrap实现的,现学现卖吧,咱也不敢问。

先写个html页面出来

测试平台

选择模块进行测试:

请选择要执行测试的case模块

全部case

选择mark进行测试:

请选择要执行测试的mark

执行测试

测试机器:

测试结果:

当前构建任务名称当前构建任务号当前构建任务状态当前构建任务时长(s)当前构建开始时间测试报告地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值