JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

Stella981
• 阅读 645

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

javascript在自动化测试中的应用

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

是不是会有这样的感觉?

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

闲言少叙,我们直接进入今天的主题,我们从这三方面来讲解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的时候,比如说一个论坛的项目

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JavaScript第三点

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

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

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

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

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

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

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

print("hello world")

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

比如Python是不是用PyCharm来写?

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

这个里面都是Html代码

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

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

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

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

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

比如这是0721_js,

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】

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

愿你我相遇,皆有所获!

愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员一凡

1.免费领取一份216页软件测试工程师面试宝典文档资料。

2.软件测试学习路线以及相对应的视频学习教程免费分享!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这