测试开发全栈之Python自动化 JS (javascript) 在自动化测试项目中的应用 [软件测试开发入门教程]

程序员一凡 · 2020年12月30日 · 1563 次阅读

有朋友反映最近我写的东西太难了,太高级了。比如说我今天分享的主题是

javascript 在自动化测试中的应用

有些朋友说我之前讲的自动化测试的东西,需要消化很久,有一定的难度,意思就是说我动不动就讲测试框架,测试开发

是不是会有这样的感觉?

比如今天分享的 javascript,大家做软件测试有没有用过?或者在自动化测试中应用过

可能很多朋友 javascript 都是在 Html 中应用。

我们做测试就是会应用在自动化测试当中

不管学什么技术,都要活学活用。

基础比较差的朋友,如果你觉得前方高能,可以先去把基础巩固一下,我始终认为一个点

如果你在互联网行业,做测试工程师。我们的目光一定要长远一些,格局要高一些,任何一个行业如果做到极致,就是艺术家。

不要求所有人都达到极致,但是至少我们要往测试高级目标推进,那如果你没有这个目标,那估计你永远都不会推进,不会往这个方向去走,我们本可以做到测试高级,为什么还一直在做功能测试,做初级。

因为最近我看到拉勾网和 Boss 直聘上面有个大数据,现在不是大数据时代吗?

这一类大型招聘网站,给我们软件测试行业发了一个文章,就是软件测试从业者大概的一个现状

现在软件测试从业迎来了一个危机,是什么呢。

因为行业的高速发展,互联网行业单纯的功能测试很多已经无法满足企业的需求,当然很多朋友单纯的做功能测试也能 “活” 下去,而且有些在一线城市,工资待遇还不错。

现在你叫得出名字的大厂,百度京东阿里美团字节跳动,或者说大一点的公司,他对功能测试的岗位需求,更偏向于成本较低的应届毕业生,为什么还要招一个三年五年的功能测试,成本考虑。

还有单纯的手工测试,在企业中想涨薪那是不大现实的,或者做管理,你也非常难。

还有在做功能测试过程中,你的长期重复性工作,缺乏一个系统性的学习,平时接触的业务非常局限,那么导致你经验不足,这个会造成一个恶性循环,一直是这样,然后做了几年你就会遇到瓶颈。

因为今天我在招聘网,看到了这篇文章,大数据显示的。

所以和大家分享一下最新的资讯。

如果你不会,我之前分享的一下测试框架,这些测试开发技术,你跟大厂,测试开发岗无缘。

再怎么做,你也很难被推荐

其实做技术这一行业,你做到有一定的成就,你的技术比较好,你去找工作,根本不需要去面试了。

像我之前,如果我要换工作,基本上要么就是猎头找到我,要么就是大厂的一个在职员工,内部人员推荐。

你的技术达到一定的级别,你根本不需要主动去找工作,很现实。

测试开发工程师这个岗位,现在有一个什么样的特点呢?

薪资高,级别高,就是你去阿里巴巴,去蚂蚁金服你的级别肯定是很高的,然后稀缺度高。

就是说这一类的人员非常稀缺,十个测试有八个初中级,可能就是传统的功能测试,可能有一两个是自动化测试高级,测试开发高级。

如果你去听一些自动化测试,测试架构直播公开课,觉得有一些太深的知识点很茫然,听不懂的朋友

有没有考虑过是自己的问题,该充电了。

如果大家想在短时间内,系统性的突破,学习测试技术,成为高级,测试开发,成为资深,可以公众号程序员一凡,领取一些系统性的学习路线以及相对应的学习教程。

闲言少叙,我们直接进入今天的主题,我们从这三方面来讲解 javascript 在自动化测试中的应用

javascript 简介

JavaScript 是 Web 的编程语言,是目前最流行的脚本语言,这门语言可用于 HTML 和 web 开发
JavaScript 可以让静态 HTML 页面上添加—些动态效果
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

web 网页的组成

HTML 定义了网页的内容
cSs 描述了网页的布局
JavaScript 实现了网页的行为

HTML 中的脚本必须位于标签之间。脚本可被放置在 HTML 页面的

和部分中。

有很多朋友可能觉得 JavaScript 是开发使用在 Html 中

JavaScript 第一点

我们现在做自动化测试有一个什么样的特点?

很多 Web,比如说我们的 Web 自动化测试框架一个原理,就是通过 JS 来实现对 Web 元素的操作,所以我们为什么要了解学习 JavaScript,你做自动化可能很多朋友在网上看到一些简单的 DEMO 代码,用来简单的实现自动化,那你真正的了解过这个自动化到底是怎么实现的?

比如说我们很经典的,一个 selenium 框架,那么它是怎么将我们的自动化做起来的呢?

它将我们需要操作的业务逻辑,点击内嵌到自己的一个网页中,那再通过一些脚本语言来实现这个伪元素的操作,这是它的一个底层核心原理。

所以说如果你真正的去面试的时候,面试官问你 Web 自动化框架底层用什么来做的。就是说它通过 JS 获取浏览器很多对象,去进行操作,去执行,其实我们的 selenium 框架也提供了操作 JS 的方法。

JavaScript 第二点

如果你做接口测试,JavaScript 可以执行接口测试。

我拿之前的一个项目给大家看一下

用 Postman 做一个完整的自动化测试流程,再用 Python 加一些框架来实现。

那么在用 Postman 的时候,比如说一个论坛的项目

那么他在这么多接口之间,相互关联的时候,它中间会用到一些 javascript 代码

比如这个就是定义一个变量,就是 JS 的语法,所以说它可以执行接口测试。JS 在 Postman 里面进行一些参数关联,环境变量的设置,结果的校验,其实都是 JS 语法,所以说不管做接口测试,功能 UI 测试都会去用到这个 JS,大家有没有用过呢。

JavaScript 第三点

JS 其实可以提高自动化测试的效率和稳定性,如果你做 UI 自动化,你通过一些 JS 语句它可以提高这个效率,我们做自动化测试最怕的就是效率太低了,然后脚本不稳定,那其实我们最怕的两个点,如果很多用例你用这个 JS 来替代,是不是可以提高我们自动化测试的效率,刚好是我们想要的东西。

当然还有很多东西,我们不得不来了解这个 js,就是说大家在工作过程中,你去看这个控制台里面,有时候非常多的信息,就是 JS,比如说下图报错,然后一些什么类型的消息,调试,这个里面都是一个 JS。

那么说了这么多的 JS,为什么要来学 JS,javascript 和 Java 有什么关系?

了解一下他的历史、渊源。

其实,它和 Java 没有任何的关系。、

它只是借着 Java 的名声,一个非常火爆的程度,然后取了这样的一个名字,当时刚开发的时候,趁(蹭)热!

其实 JS 也是一个行业大牛,花了不到一个月的时间,开发出来的,一般的我们学习一门语言,大家可能都是第一句代码

比如说大家学 Python 学 Java,第一行代码。都是

print("hello world")

那么我们 js 在哪里些代码呢?

比如 Python 是不是用 PyCharm 来写?

一般最简单的就是在控制台里面打印,比如我们来学习 JS 了,我们第一行代码。

这就是在浏览器开发者工具,在这个控制台里面。

其实用得最多的还是在 Html 里面,像很多年之前,没有这个 js 之前网页都是静态的,那么现在的网页是不是都会有很多酷炫的效果,很美观,那么动态是怎么来实现的呢?

比如这个 12306 网站,联系客服,我鼠标一移上去,它会变一个颜色对吧,这个不算酷炫的效果,一个简单的动态效果,那它肯定是通过 JS 来实现的,我们一起来写一个简单一点的效果。

比如说,现在所有的 Web 页面,它是怎么来的,它是由哪些东西组成的,像你随便看到一个网页,为什么会在网页上显示这些东西,那么它首先是一个 Html 定义了网页的内容,就是你在网页点击右键检查(快捷键 F12)

这个里面都是 Html 代码

Html 里面它有一个定义了网页内容,那么 css 描述了网页的布局,什么叫网页的布局?

那么这个排版,整整齐齐,颜色搭配,字体大小,等等,都是 css。

像我们鼠标移上去显示一个什么动态效果,就是我们今天将的 javascript,它实现了网页的行为。

如果我们想来做一个简单的网页,比如说你做一个表白网页,气球,一个心形的效果

你在 PyCharm 编辑器里面新建一个,写这个网页看不懂没关系,毕竟我们主要还是做测试。

后面它在自动化测试中如何应用的才是重点。

比如这是 0721_js,

你新建一个 Html 文件就好了,这个时候它就会出现一些初始化的代码。

这是一个网页,由 Html 组成,现在其实我们就可以去打开这个网页了,但是什么内容都没有,一片空白。

对这个感兴趣的微信公众号程序员一凡,主页点击领取资料,有录制的视频教程讲解。

这篇文章做一个入门的讲解,javascript 在自动化测试中的应用视频详解教程免费领取。

愿你我相遇,皆有所获!希望对你有帮助!

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册