写点什么

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

发布于: 2021 年 02 月 20 日
滚雪球学 Python 番外系列,自动化测试是个啥?

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

自动化测试是和啥


测试,就是测一下开发人员弄出来的软件有没有 BUG。

自动化测试,就是利用工具或者脚本,实现没有人工或者极少的人工就可以完成的测试,说白了就是,用工具自动测,测试人员盯着。


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


  • 自动化测试效率高,啥玩意上了自动化肯定是因为效率的原因

  • 琐碎的任务做一次就好了,测试人员舒服了,工作更有干劲了,摸鱼时间多了

  • 自动化测试,因为不是人操作的,所以每次都会相同,不会出现第一次与第二次操作不同的情况。


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


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


第一,对测试人员的技术要求肯定提高了,原先要求点点鼠标就可以,现在要会写代码了

第二,自动化测试属于还没测试,就先投入人力时间成本的

第三,项目变动,自动化测试的脚本肯定要变动


自动化测试近些年越来越流行了,出现了很多工具和框架,比如 Selenium(我们即将学习的)、UFTRuby Watir

后面两个就不要看了,咱也不涉及。


Selenium


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


还不是因为工作中用的多


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


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


Selenium IDE 安装与使用


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


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

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


没办法转战火狐吧。


安装火狐浏览器之后,在火狐浏览器中打开这个地址,注意火狐浏览器打开:

https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/,点击Add to Firefox





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


使用 Selenium IDE


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

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

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

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


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


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


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


录制脚本


首先录制一个脚本,该脚本如下;

第一步,打开百度;

第二步,点击好 123 超链接。


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

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

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

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

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

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

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

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

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

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


  • Command 表示命令,命令就是我们的一些动作,例如打开一个网页,点击一个按钮。

  • Target 表示目标,就是在网页中找到某个元素。

  • Value 表示值,这个用到再说吧,非必填项。


扩展一下案例


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

上图中存在两个红框,store title 表示存储网页 title,即网页标题,注意 Target 是空,然后 Value,表示获取到的网页标题存储到 my_title 这个变量中。

在 echo 命令中可以通过 ${my_title} 将变量的数据打印出来,注意打印放在关闭命令前,否则会报错的。


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

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


实现百度一下


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

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


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


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


写在后面

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


发布于: 2021 年 02 月 20 日阅读数: 88
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
滚雪球学 Python 番外系列,自动化测试是个啥?