1.json:

json是JavaScript Object Notation,是一种数据传输格式。

以下程序都是在浏览器的Console下执行的。

创建一个javaScript的对象:

var student={id:'10001',name:'claire',loveSport:['pingpang','run','yoga'],};

之后将其序列化为json格式的数据:

var jsonStu=JSON.stringify(student);

此时输出jsonStu为:"{“id”:“10001”,“name”:“claire”,“loveSport”:[“pingpang”,“run”,“yoga”]}"

这种格式的不好看,可以加上几个参数:

JSON.stringify(student,['id','name'],' ');

输出结果为(与我们在平时测试见到的格式相同):

"{"id": "10001","name": "claire"
}"

还可以将Json格式数据反序列化为一个javaScript的对象。

JSON.parse();

想了解更多关于反序列化的内容,可以到菜鸟教程上学习下。网址:http://www.runoob.com/js/javascript-json-parse.html

2.方法

function add(a,b){alert(a+b);
}
add(10,20);

声javaScript中,参数不需要声明形参类型、返回值类型。直接用function 方法名(形参1,形参2){方法体}

3.dom编程

dom是 document Object Model,文档对象模型。

简单来说,当我们打开一个网页,页面加载完成后,浏览器就会自动创建该页面的dom(文档对象模型,就是该页面的一个对象),通过该对象就可以访问该页面的所有元素。

我们做web自动化测试的时候,通常需要捕获到某个元素,并对其进行操作。其原理就是通过dom模型(网页对象)去获取所要捕获的元素。

下面讲一下用js来获取并操作html的元素。

浏览器上打开一个窗口,首先是会生成一个wondows的对象。是JavaScript中的顶层对象,是document的父节点。代表是在浏览器上打开了一个窗口。

document是代表窗口中显示的页面,表示当我们打开一个网页,网页内容加载完毕后。是windows的子节点。通过该节点可以遍历到html中的所有子节点。对应的事件是:wondows.onload如果该时间完成后你需要完成一系列的操作,此时就需要为该事件注册一个方法。
注册方式为:

<script>window.onload=function (){var a=document.getElementById('10001');alert(a);}
</script>

我们自己创建了一个html文件,其中有输入框的id为10001。上面就获取到了该元素,并弹框显示了该元素。

其中:

document.getElementById(''),(method) Document.getElementById(elementId: string): HTMLElement
Returns a reference to the first object with the specified value of the ID or NAME attribute.

可以看到返回的是一个对象的引用。当我们想获取到该对象的value值时,可以用a.value即可

还有其他方式可获取元素:


举例:

alert(document.getElementsByClassName('class1')[0].value);
alert(document.getElementsByClassName('class1').length);
alert(document.getElementsByTagName('input')[1].value);
alert(document.getElementsByTagName('input').length);

还可以获取到超链接(a标签)中的文字和html:

console.log(document.getElementById('10002').innerText);
console.log(document.getElementById('10002').innerHTML);

其他事件的常用事件:

a.onblur=function(){alert('失去焦点')}a.onfocus=function(){alert('聚焦')}a.onchange=function(){alert('内容改变')}a.onclick=function(){alert('点击事件')}a.ondblclick=function(){alert('双击事件')}a.onmouseover=function(){alert('鼠标上浮事件')}

自动化测试学习之路--json、dom编程相关推荐

  1. mavlink协议_MAVLink学习之路05_MAVLink应用编程接口分析

    说明: 本文原创作者『strongerHuang』 首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 一.写在前面 前面写的几篇文章你掌握了,说明你离成功很近了 ...

  2. python支持多种编程范式吗_Python3学习之路~6.1 编程范式:面向过程 VS 面向对象...

    编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种 ...

  3. 小白学习之路,网络编程(上)

    一,计算机网络基础 在讲网络编程之前,先跟大家简单的介绍一下一些网络相关的知识. 在最早之前,两台电脑之间通信是通过电脑的mac地址找到对方,并实现相互通信.当然每台电脑都只存在唯一的mac地址,在生 ...

  4. Java学习之路12——GUI编程

    组件:窗口.弹窗.面板.文本框.列表框.按钮.图片.监听事件.鼠标.键盘事件 一.简介 GUI的核心开发技术:Swing AWT. 弊端: 页面不美观 需要jre环境 学习的必要性 可以写出自己心中想 ...

  5. Java学习之路002——面向对象编程

    [说明]部分内容来源于网络,如有冲突,请联系作者删除. 一.面向对象编程(OOP) 2.1 对象和类的关系 2.2 面向对象的特征 2.2.1 封装 2.2.2 继承 2.2.3 多态 3.抽象 使用 ...

  6. 自动化测试学习之路--java String、StringBuilder

    Java中的String和StringBuilder类: 1.String对象是不可变的.每一个看起来修改了String值的方法,实际上都是创建了全新的String对象.代码示例如下: String ...

  7. 自动化测试学习之路--HTML常见元素、属性的简单学习

    如何创建html文件: 使用工具:VSCode 1.双击文件名显示区,可快速新建文件. 2.保存文件,文件名.html 3.输入!(必须是英文的!),按 Tab键,可自动生成html格式的文件,如下: ...

  8. 自动化测试学习之路--java 数组

    数组的定义与为数组元素分配空间和赋值是分开进行的,称为动态初始化. 在数组定义的同时就为数组元素分配空间并赋值,称为静态初始化. 一维数组举例: //动态初始化int[] intArr;intArr= ...

  9. 写给编程初学者的一篇文章,该如何学习编程?我的编程学习之路

    我的编程之路 当初还没有学习编程的时候,真心觉得编程好难啊,这是人学的吗?怎么全是符号字母?这都是啥啊?真的是让人满头问号,目前编程行业工资比较高,很多人都想学一下编程,但又不知道从哪里开始学习,我觉 ...

最新文章

  1. html中radio、checkbox选中状态研究(静下心来看,静下心来总结)
  2. ant design pro 加载慢_ant design pro (九)引入外部模块
  3. 剔除重复_微服务发生故障后,我是如何做到自动剔除异常的Server?
  4. java多线程间的通信传值_Java 多线程之间的通信
  5. PJSIP学习笔记——PJSUA层发起呼叫的主要流程
  6. 爱思助手短信备份到安卓_爱思助手 Bug 修复,完美降级10.3.3
  7. 针对EasyUI的checkbox进行扩展
  8. mysql必知必会心得_SQL必知必会知识总结
  9. js_ctype linux,linux – 解释export LANG,LC_CTYPE,LC_ALL的效果
  10. BUUCTF:[WUSTCTF2020]girlfriend
  11. edge 临时文件夹 位置_如何更改Microsoft Edge的下载文件夹的位置
  12. 一网打尽!所有PMP的计算公式都在这里啦,赶紧学起来,建议收藏
  13. 音乐 组件 (音频, 视频)
  14. Docker容器域名解析失败
  15. uva10005(Packing polygons)
  16. 工作中使用的sql知识点及查询语法
  17. Single SPI、Dual SPI、Qaud SPI
  18. shell获取当前执行脚本的路径和文件名
  19. 利用OCR解决增值税发票内容文本识别
  20. INFA MDM和metadata manager

热门文章

  1. VB6之ICMP实现ping功能
  2. spring中集成使用jedis(2)
  3. 如何在VB中使用正则表达式
  4. 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题
  5. 【报告分享】2022中国职业教育行业报告-多鲸资本.pdf(附下载链接)
  6. 【实践】多模态内容理解技术在腾讯搜索中的应用及实践.pdf(附下载链接)
  7. 【推荐实践】58招聘推荐排序算法实战与探索
  8. PyTorch系列入门到精通——DataLoader与Dataset
  9. 不可错过!斯坦福课程3D数据的机器学习方法(Machine Learning for 3D Data)第二部分Geometry Foundations: Surface Representations
  10. 数据挖掘之模型选择和融合