uft怎么做app自动化测试_我教会了siri做自动化测试......

c4fc5569a924d5ffe5b6e6615195e28c.png

2020年是一个魔幻的年份,那么在这一年里,我们不妨玩的更科幻一点。

在下面这个视频里,我们看看怎么样使用siri帮我们做自动化测试吧。

808aead9c4b2725ac25d0e62f788ffcf.png
用siri做自动化测试呀https://www.zhihu.com/video/1248676148479512576

原理分析

原理其实很简单。首先用语音唤醒siri,调用ios的快捷指令,自动给在公司的小伙伴打电话,让他们配合表演,做一阵各种操作,把测试结果返回。

当然,这是开玩笑的。

真正的原理如下图所示

7a61e0c62d96de9187c45982be120fda.png

其实就是用语音唤醒siri之后调用ios的快捷操作app,通过ssh到远程服务器的方式,调用远程服务器上的测试脚本,运行用例,并将结果返回。

用到的设备

  • 一台ios机器,iphone和ipad都可以,升级到最新版本
  • 一台云服务器,能ssh访问

测试用例

因为偷懒的关系,我就没有写特别复杂的用例了,这里我就用python简单测试了一下重定向科技的所有课程页面,属于简单的界面UI测试范畴。

不过这里没有用到selenium,而是直接发送1个get请求拿到页面的html,然后从html标签中分离出我想要的关键信息做断言。

先写自然语言的用例

  • 发GET请求到http://www.itest.info/courses
  • 拿到html后用css选择器.servive-block-in > h4拿到所有课程的名称
  • 课程名称里包含全栈测试开发班这个课程,这里用包含断言,提升了用例的鲁棒性,也就是说跑多次不容易报错

再用python去实现一遍

  1. import requests, unittest
  2. from bs4 import BeautifulSoup
  3. url = 'http://www.itest.info/courses'
  4. html = requests.get(url).text
  5. soup = BeautifulSoup(html, 'html.parser')
  6. titles = [i.text for i in soup.select('.servive-block-in > h4')]
  7. course_name = '全栈测试开发班'
  8. assert course_name in titles, '{}不在课程列表中'.format(course_name)
  9. print(titles)
  10. print('All good')

这里用到了2个第三方库

  • requests:简化http的各种操作
  • BeautifulSoup4: html parser,方便我们从html标签中分离出各种有效信息

用例的整体思路借鉴了多年前google提出的测试降级思路,也就是如果页面上的一些元素可能是干扰项,那么就需要在用例中去掉这些干扰,实际上这个脚本其实就是一个简单的爬虫,只是加了断言而已。

确保可以远程运行

将脚本放到云服务器上,运行

  1. python itest.info.py

结果应该如下

  1. ['全栈测试开发班', '性能测试班', '接口自动化测试开发--Python班', 'Selenium自动化测试--Python班']
  2. All good

配置快捷指令

一步一步按图来配置就好了。

24d4e43a79a1e375148eb6c9e526c60c.png

2bdd94b2f5291cb957872c65e68d1889.png

这里我配置了

  • 通过ssh运行脚本,在这里选择ssh到了远程服务器,并执行了shell脚本
  • 播放声音,这个纯属为了好玩
  • 最后显示shell脚本结果,把运行的结果返回回来

配置好快捷指令之后就可以用siri去运行这个指令了。

最后

用siri去执行自动化测试脚本,听上去感觉脑洞很大,但只要了解了原理,就会发现其实并不算困难。

整个过程看上去很简单,但其实包含了一些值得分享的思路。

  • 能在命令行里跑的都在命令行里跑
  • 能在云服务器跑的都在云服务器上跑
  • 工作中其实有很多地方都可以用到自动化,主要看脑洞够不够大

通过siri + 快捷操作的方式,你还可以实现

  • 通过siri去部署
  • 通过siri去运行爬虫
  • 通过siri去执行jenkins任务,ssh到一台跳板机,然后通过curl运行jenkins api
  • 其他更多....

有兴趣的同学不妨亲自动手试一下,跑通了流程以后也许可以在面试的时候表演一下,比如假装收到告警短信,然后低调的语音唤醒siri,说跑一下现网的监控测试,然后就优雅的等待测试结果或翻车,总之,人生如戏,全靠演技。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值