1.简介

前面几篇基础系列文章,足够你迈进了Selenium门槛,再不济你也至少知道如何写你第一个基于Java的Selenium自动化测试脚本。接下来宏哥介绍Selenium技巧篇,主要是介绍一些常用的Selenium方法或者接口(API),通过这些接口(API)或者方法的具体操作,达到能够熟练使用Selenium编写Java的自动化测试脚本,从而为后续的Java+Selenium自动化测试框架设计打基础。只有你了解或者使用了里面的一些方法,你在框架设计篇,才能有这个思想或者觉悟,为什么要封装,为什么要这么设计等等。

2.为什么要阅读源码和介绍API?

一方面是为了学习人家封装的思想,另一方面通过这些接口(API)或者方法的具体操作,达到能够熟练使用Selenium编写Java的自动化测试脚本,从而为后续的Java+Selenium自动化测试框架设计打基础。只有你了解或者使用了里面的一些方法,你在框架设计篇,才能有这个思想或者觉悟,为什么要封装,为什么要这么设计等等。不至于到时候即使有代码了,你也想不到或者根本看不懂。

3.阅读selenium源码

学习过或者了解过java的童鞋或者小伙伴们都知道:打开之前你写的一个脚本,鼠标悬停到driver.get("https://www.baidu.com");鼠标悬停在get这个单词上方,然后按下ctrl键,点击鼠标左键,就可以进入get方法。而宏哥却出现source not found页面,如下图所示:

3.1eclipse如何阅读selenium源码

1.访问github官方网站:https://github.com/,如下图所示:

2.搜索框输入“selenium”回车,查找到有关selenium信息,如下图所示:

3.点击“SeleniumHQ/selenium”,如下图所示:

4.点击“code”,然后再点击“Download ZIP”,如下图所示:

3.2制作Selenium-Java-src.zip源码文件

下载完,解压之后,发现是一个很大的文件,几百M大小。我们只是看Java部分的Selenium源码,所以,我们找到解压之后的路径:解压+\selenium-selenium-3.4.0\java\client,在这个路径下,我们把src这个文件夹拷贝到桌面,然后右键-选择发送到ZIP文件夹,把桌面生成的ZIP命名为Selenium-Java-src.zip。

3.3在Eclipse上添加源码文件

1.点击刚刚source not found页面的“Attached Source”,如下图所示:

2.选择External location,然后选择你制作的源码文件的path,如下图所示:

3.4校验是否成功

鼠标悬停到driver.get("https://www.baidu.com");鼠标悬停在get这个单词上方,然后按下ctrl键,点击鼠标左键,可以成功看到进入到get方法了,如下图所示:

4.小结

其实刚刚我们看到的也是get的方法只不过哪个是java文件编译了,java虚拟机认识,我们人不认识,不相信的小伙本或者童鞋们,可以用java反编译软件查看一下,宏哥说的对不对。
好了,今天这个比较简单就介绍和分享到这里了,感谢你耐心的阅读。我们下期再见。

《手把手教你》系列技巧篇(六)-java+ selenium自动化测试-阅读selenium源码(详细教程)的更多相关文章

  1. 《手把手教你》系列技巧篇(五十六)-java+ selenium自动化测试-下载文件-上篇(详细教程)

    1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...

  2. 《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)

    1.简介 前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图.有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的 ...

  3. 《手把手教你》系列技巧篇(六十一)-java+ selenium自动化测试 - 截图三剑客 -下篇(详细教程)

    1.简介 按照计划宏哥今天将介绍java+ selenium自动化测试截图操作实现的第三种截图方法,也就是截图的第三剑客 - 截取某个元素(或者目标区域)的图片.在测试的过程中,有时候不需要截取整个屏 ...

  4. 《手把手教你》系列技巧篇(五十七)-java+ selenium自动化测试-下载文件-下篇(详细教程)

    1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就 ...

  5. 《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)

    1.简介 今天本来是要介绍远程测试的相关内容的,但是宏哥在操作服务器的时候干了件糊涂的事,事情经过是这样的:本来申请好的Windows服务器用来做演示的,可是服务器可能是局域网的,连百度都不能访问,宏 ...

  6. 《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)

    1.简介 面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了 ...

  7. 《手把手教你》系列技巧篇(六十九)-java+ selenium自动化测试 - 读取csv文件(详细教程)

    1.简介 在实际测试中,我们不仅需要读取Excle,而且有时候还需要读取CSV类的文件.如何去读取CSV的文件,宏哥今天就讲解和分享一下,希望对你能够有所帮助.前面介绍了如何读取excel文件,本篇介 ...

  8. 《手把手教你》系列进阶篇之1-python+ selenium自动化测试 - python基础扫盲(详细教程)

    1. 简介 如果你从一开始就跟着宏哥看博客文章到这里,基础篇和练习篇的文章.如果你认真看过,并且手动去敲过每一篇的脚本代码,那边恭喜你,至少说你算真正会利用Python+Selenium编写自动化脚本 ...

  9. 《手把手教你》系列进阶篇之2-python+ selenium自动化测试 - python基础扫盲(详细教程)

    1. 简介 这篇文章主要是分享讲解一下,如何封装自己用到的方法和类.以便方便自己和别人的调用,这样就可以避免重复地再造轮子. 封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承 ...

随机推荐

  1. Spring Boot读取自定义外部属性

    测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String name; private St ...

  2. golang:数据类型总结

    Go语言将数据类型分为四类:基础类型.复合类型.引用类型和接口类型. 基础数据类型包括: 基础类型: - 布尔型.整型.浮点型.复数型.字符型.字符串型.错误类型. 复合数据类型包括: - 指针.数组 ...

  3. css背景|列表样式

    背景样式 背景区包含内容.padding 和 boder 不包含外边距 background-color 设置元素的背景颜色 background-image 把图像设置为背景,包含内边距和边框,不包 ...

  4. 9.10 nohup:用户退出系统进程继续工作

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行程序的输出信息将不会显示到终端.        无论是否将nohup命令的输出重定向到终端,输出都将写入到当前目录的nohup.out文件 ...

  5. STM32SD卡 (U盘)IAP升级

    http://www.openedv.com/posts/list/65104.htm

  6. Elasticsearch快速入门和环境搭建

    内容概述 什么是Elasticsearch,为什么要使用它? 基础概念简介 节点(node) 索引(index) 类型映射(mapping) 文档(doc) 本地环境搭建,创建第一个index 常用R ...

  7. Windows 下QT程序发布

    方法1:利用QT自带打包工具 1.新建文件夹,把编译好的exe文件放入该文件夹 2.使用QT下的命令行 3.进入该exe所在文件,执行windeployqt xxx.exe,若出现找不到命令的情况 4 ...

  8. Python+Selenium自动化-设置等待三种等待方法

    Python+Selenium自动化-设置等待三种等待方法   如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...

  9. Go基础结构与类型02---使用iota定义常量组

    package main import "fmt" /*const ( USA = 0 China = 1 Russia = 2 Britain = 3 France = 4 )* ...

  10. Java中如何将函数名作为参数传递

    采用lambda表达式: import java.util.function.Function; class Test { public static void main(String... args ...