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. Python学习之路15☞socket编程

    一 客户端/服务器架构 即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二 os ...

  2. python学习之路前端-Dom

    Dom简介    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为 ...

  3. python的学习之路day7-socket网络编程

    python基础部分学习完了,时间也已经过了两个月左右,感觉没学到什么,可能是我学习之后忘记的太多了. 由于没钱买书,要是去培训就更没钱了,所以在网上找了一本书,感觉还不错,讲的比较好,比较详细. P ...

  4. Labview学习之路(十一)日常编程技巧

    此文章用于记录自己在学习Labview过程中所用到的编程技巧,会一直更新下去. (一)移动控件 直接鼠标拖动. 按住shift键,鼠标移动,可以水平和竖直移动(取决于鼠标最开始的移动方向). 使用键盘 ...

  5. 高性能javascript学习笔记系列(3) -DOM编程

    参考 高性能javascript 文档对象模型(DOM)是独立于语言的,用于操作XML和HTML文档的程序接口API,在浏览器中主要通过DOM提供的API与HTML进行交互,浏览器通常会把DOM和ja ...

  6. Python3学习之路~6.1 编程范式:面向过程 VS 面向对象

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

  7. Python学习之路——类-面向对象编程

    类 面向对象编程 通过类获取一个对象的过程 - 实例化 类名()会自动调用类中的__init__方法 类和对象之间的关系? 类 是一个大范围 是一个模子 它约束了事务有哪些属性 但是不能约束具体的值 ...

  8. python学习之路-10 网络编程之进阶

    本篇介绍内容 作用域 python类的多继承 IO多路复用 socketserver之源码剖析 多线程和多进程 作用域 if 1 == 1: name = "xxx" print( ...

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

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

随机推荐

  1. SQL:获取语句执行时间

    项目中查看数据库查询语句执行时间,脚本如下: --清除缓存 CHECKPOINT; DBCC DROPCLEANBUFFERS; DBCC FREEPROCCACHE; DBCC FREESYSTEM ...

  2. eclipse快捷键(个人经常使用的)

    周末闲来无聊,就把一直以来eclipse使用的快捷键梳理了下,希望对有需要的朋友有所帮助,绝对原创! 1.快速复制一行或者多行 首先选中你要复制的行,如果是一行,则鼠标焦点在那一行即可,如果是多行,可 ...

  3. 2月4号学习的一个SSM整合项目,第一课

    本文引自:https://github.com/Sunybyjava/seckill  原作者:sunybyjava@gmail.com seckill 一个整合SSM框架的高并发和商品秒杀项目,学习 ...

  4. 第43章 RTC—实时时钟—零死角玩转STM32-F429系列

    第43章     RTC—实时时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...

  5. Large-scale Scene Understanding (LSUN)

    Large-scale Scene Understanding (LSUN) http://lsun.cs.princeton.edu/#organizers http://sunw.csail.mi ...

  6. 太阳地球月亮运行动画(使用@keyframes)

    闲来无事的demo <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  7. C/C++程序基础 (十一)标准模板库

    标准模板库 标准模板库在标准函数库的定位 迭代器(类似指针)保证算法(常用算法)和容器(数据结构)的结合. vector的实现 底层实现是动态数组,所以支持随机访问. 内部是动态数组,随着insert ...

  8. LeetCode979. 在二叉树中分配硬币

    问题:979. 在二叉树中分配硬币 给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 N 枚硬币. 在一次移动中,我们可以选择两个相邻的 ...

  9. 记一次samba排错 Failed to start Samba SMB Daemon.

       记录一次服务出错排错的过程,很多新手出了点错不百度直接巴拉巴拉的问,一般老手根据经验可以给出一点建议,但是由于个体环境的差异并不适用,反而埋怨起来.这种真的无F**K可说,所以要培养自己的排错能 ...

  10. scrapy--Beautyleg

    很早就开始关注:Beautyleg 高清丝袜美腿.关注之后开始觉得打开了新世界的大门,如果有相同观点的,那么你很有品味.说真的,学习爬虫的动力之一就是想把里面的图片爬取下来.哈哈哈!!! 给大家放点爬 ...