滚雪球学 Python 番外系列,自动化测试是个啥?

今天是持续写作的第 <font color="red">22</font> / 100 天。
如果你有想要交流的想法、技术,欢迎在评论区留言。

本系列专栏是滚雪球学 Python 的番外篇之一,自动化测试。希望有需要的同学可以喜欢,本专栏文章风格会走逗趣路线。

自动化测试是和啥

测试,就是测一下开发人员弄出来的软件有没有 BUG。
自动化测试,就是利用工具或者脚本,实现没有人工或者极少的人工就可以完成的测试,说白了就是,用工具自动测,测试人员盯着。

既然出现了自动化测试,那肯定自动化有好处。

  • 自动化测试效率高,啥玩意上了自动化肯定是因为效率的原因
  • 琐碎的任务做一次就好了,测试人员舒服了,工作更有干劲了,摸鱼时间多了
  • 自动化测试,因为不是人操作的,所以每次都会相同,不会出现第一次与第二次操作不同的情况。

你看,使用自动化测试好处多多吧。

不要小看自动化测试,要完全实现自动化还需要投入很多东西。公司要想用,就要掏钱。

第一,对测试人员的技术要求肯定提高了,原先要求点点鼠标就可以,现在要会写代码了
第二,自动化测试属于还没测试,就先投入人力时间成本的
第三,项目变动,自动化测试的脚本肯定要变动

自动化测试近些年越来越流行了,出现了很多工具和框架,比如 Selenium(我们即将学习的)、UFTRuby Watir
后面两个就不要看了,咱也不涉及。

Selenium

写到这里,一般疑问是,为什么自动化测试工具这么多,你非要选择 Selenium呢?

还不是因为工作中用的多

如果你想知道其它有点,自行去搜索引擎(百度)检索一下吧,一大堆夸的。

从橡皮擦自己的角度来看,哪里有那么多说法,很多人自动化测试人员就是恰好学习 Python,恰好用了 Selenium,恰好自己在的公司也用 Selenium,那必须推荐下这个吖,毕竟后浪们学习的越多,越能证明自己当初选择的越对。

Selenium IDE 安装与使用

初学自动化测试,咱先来搞一搞 Selenium IDE,这个东西非常容易上手,而且是图形化操作(就是点鼠标操作)。但并不是说这玩意简单,真正用起来你会发现,真麻烦。

先要找到官网:https://www.selenium.dev/,下载地址在网页中部位置。

滚雪球学 Python 番外系列,自动化测试是个啥?

结果找了半天,发现需要对于谷歌浏览器来说,还需要访问谷歌商店,目前国内肯定是实现不来的。

没办法转战火狐吧。

安装火狐浏览器之后,在火狐浏览器中打开这个地址,注意火狐浏览器打开:
https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/,点击Add to Firefox

滚雪球学 Python 番外系列,自动化测试是个啥?
滚雪球学 Python 番外系列,自动化测试是个啥?
滚雪球学 Python 番外系列,自动化测试是个啥?
滚雪球学 Python 番外系列,自动化测试是个啥?

以上几张图片依次出现,最终出现上图的小图片就完成任务了。

使用 Selenium IDE

点击图片之后出现下图窗口,你即将开启自动化测试之路。

滚雪球学 Python 番外系列,自动化测试是个啥?

选择创建一个新项目,对于其他内容英语不好的同学翻译一下。

滚雪球学 Python 番外系列,自动化测试是个啥?

项目名字随意写,不过遵循一个原则,软件开发中能用英文字母的地方,尽量不要用中文,毕竟中文博大精深,不是老外能理解的。

滚雪球学 Python 番外系列,自动化测试是个啥?

如果需要官方教程,可以打开 https://www.seleniumhq.org/selenium-ide/docs/en/introduction/getting-started/,进行学习,不过对于新手来说,没有太大的必要性,玩起来就行。

项目创建完毕,会进入一个全新的界面,第一眼看到这个界面,肯定一脸懵。不用着急,这就是一个普通的软件,你能熟练的使用 QQ,就一定能熟练的操作它。

滚雪球学 Python 番外系列,自动化测试是个啥?

既然是学习软件操作了,那一定要勇于的点击各个按钮,目前橡皮擦接触最复杂的软件就是 OFFICE 里面的 Word 了,那软件,真刺激。

先掌握一个概念,Selenium 自动化的理念是,手动先录制一系列的动作,然后在让软件模拟这套动作。

录制脚本

首先录制一个脚本,该脚本如下;
第一步,打开百度;
第二步,点击好 123 超链接。

点击右侧的录制按钮,就可以对你的操作进行录制了。

滚雪球学 Python 番外系列,自动化测试是个啥?

第二步在弹窗中输入百度的网址。

滚雪球学 Python 番外系列,自动化测试是个啥?

在弹出的页面中注意已经打开百度了,右下方出现内容表示正在录制你的操作。

滚雪球学 Python 番外系列,自动化测试是个啥?

点击左上角的 hao123 超链接之后,在新选项卡中打开 hao123 新页面,之后关闭浏览器。

滚雪球学 Python 番外系列,自动化测试是个啥?

此时 Selenium IDE 相关的操作已经录制完毕,需要手动关闭一下脚本录制。

滚雪球学 Python 番外系列,自动化测试是个啥?

点击按钮保存(文件可以存储在任意位置,也可以按 Ctrl+S 保存)

滚雪球学 Python 番外系列,自动化测试是个啥?

录制完毕就可以再次执行了,所谓再次执行就是重复执行你刚才的操作。

滚雪球学 Python 番外系列,自动化测试是个啥?

有两个启动图标,一个是执行全部脚本,一个是执行当前脚本,点击启动之后,可以在下方看到日志,看不到就拖拽一下窗口。

滚雪球学 Python 番外系列,自动化测试是个啥?

学习到这里就可以针对技术点在进行一下分析了。

滚雪球学 Python 番外系列,自动化测试是个啥?

上图中,主要有 CommandTargetValueDescription 四项内容。

  • Command 表示命令,命令就是我们的一些动作,例如打开一个网页,点击一个按钮。
  • Target 表示目标,就是在网页中找到某个元素。
  • Value 表示值,这个用到再说吧,非必填项。

扩展一下案例

打开网页之后,获取到网页的标题,然后存储到一个变量 my_title 中,之后在输出该变量。

滚雪球学 Python 番外系列,自动化测试是个啥?

上图中存在两个红框,store title 表示存储网页 title,即网页标题,注意 Target 是空,然后 Value,表示获取到的网页标题存储到 my_title 这个变量中。
在 echo 命令中可以通过 ${my_title} 将变量的数据打印出来,注意打印放在关闭命令前,否则会报错的。

查看日志,即可看到对应信息的输出。


滚雪球学 Python 番外系列,自动化测试是个啥?

注意在运行的时候,如果出现下图所示情况,表示 Selenium IDE 处于等待状况,需要手动停止下。


滚雪球学 Python 番外系列,自动化测试是个啥?

实现百度一下

打开百度除了点击链接以外,还需要实现检索关键词的内容。可以按照下述内容进行配置。


滚雪球学 Python 番外系列,自动化测试是个啥?

实现这一系列的设置之后,常见的一步操作是导出为 Python 代码。

滚雪球学 Python 番外系列,自动化测试是个啥?
滚雪球学 Python 番外系列,自动化测试是个啥?

导出之后,该代码就可以提高工程师的脚本编写效率,毕竟部分步骤已经通过录制脚本实现了。

纯录制脚本然后测试,在真正的自动化测试中还是比较少见的,因为操作起来并没有想象中那么方便,所以很多时候,我们还是写代码啦。

写在后面

本文是滚雪球学Python的番外篇,主要涉及的是 Selenium 相关知识,10讲左右,希望学习之后你能对自动化测试有所了解。在后面的学习过程中,随时可能会用到 Selenium IDE 相关知识,所以本文还是非常有必要学习一下滴。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容