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

举报
梦想橡皮擦 发表于 2021/08/07 20:51:26 2021/08/07
【摘要】 如果你有想要交流的想法、技术,欢迎在评论区留言。本系列专栏是滚雪球学 Python 的番外篇之一,自动化测试。希望有需要的同学可以喜欢,本专栏文章风格会走逗趣路线。 自动化测试是和啥测试,就是测一下开发人员弄出来的软件有没有 BUG。自动化测试,就是利用工具或者脚本,实现没有人工或者极少的人工就可以完成的测试,说白了就是,用工具自动测,测试人员盯着。既然出现了自动化测试,那肯定自动化有好处。...

如果你有想要交流的想法、技术,欢迎在评论区留言。

本系列专栏是滚雪球学 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 相关知识,所以本文还是非常有必要学习一下滴。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。