Selenium Web Driver自动化测试(java版)系列上半部分(1) - 初识java

欢迎学习我制作的java版selenium web driver自动化测试教程。selenium web driver是web自动化测试的必修课程,之前跟不少朋友讨论,很多人都说对于编程没信心,太难。可想搞自动化躲不开编程,早晚得跳过这个坎。简书里有不少大牛,我看也有不少人讲selenium,大家都是为了测试界贡献力量,我也想帮助那些需要学习自动化测试的朋友,就从我自己的知识水平和视角编了一套教程拿出来跟大家讨论。这个教程分上下两个部分,上半部分是java的编程基础知识,下半部分是selenium应用。我会带着大家一步一步走,从写一句简单的代码到设计规划一个实战项目,尽量做到表达清晰无误,内容详细全面,最关键的是易懂。怎么个易懂法呢?反正我试着给我妈讲java她懂了。所以,不会编程的,对编程的恐惧的朋友,经历过“从入门到放弃“的朋友,这个教程是我接触了很多初学者后慢慢总结出来的,会非常适合你们,学完整套教程后你就会对selenium自动化测试有一个较为深刻的认识,对写代码做到入门,不恐惧,而且可以在工作时直接上手做项目。我也会把文章标题都写得很清楚,大家即便忘了某些知识点也能快速查找到。当然,selenium web driver知识面也很广,很难做到面面俱到,遗漏的或是出错的地方还请大家指正。不管怎么样,大家能有所收获就是对我最大的鼓励。

从这篇文章开始我们就介绍上半部分知识点:java语言。首先一两句话概括下什么是程序。程序就是为实现一个功能写的代码。电脑上运行的东西大多数都是程序:比如看视频的网站,办公用的软件,平时玩的游戏。这些程序运行在电脑或手机上,用来实现某些功能。所以,更直白点说,程序其实就是告诉计算机要做什么事情。你写了程序,电脑一读,做了个优酷,大家就可以看片儿了;你又写了个程序,电脑一读,做了个fifa足球,大家就可以玩游戏了;最后你又写了个程序,电脑一读,做了个病毒,自己就挂了。知道了吧,电脑通过读这些程序知道要干什么。

那你怎么写这些程序呢?你不能直接往电脑上贴个便条,电脑不懂,有人说往记事本里写中文,那也不靠谱,电脑还是不懂。电脑很挑剔,你得写它看得懂的语言。为此世界上诞生了很多为电脑设计的语言,比如C,java,php,ruby,python。咱们这个课是java,用java编写selenium代码很方便,因为它是一种很流行上手很快的语言,而且会了java很多类似的语言学起来很快。java是在90年代初问世的,当时有个公司叫Sun,太阳,他们公司里有个叫高司令的人,不过他不姓高,人家是个歪果仁,James Gosling。当然,咱们是翻译过来的。这个高司令带着他的小伙伴们开发出了这个语言,轮到起个名字的时候,大家都希望这门语言像参天大树一样稳固、霸气、牛b,那就叫橡树吧,英文是oak。但非常不幸,这名字已经被注册了,看来脑回路清奇的不止高司令一人。没办法,还得继续苦思冥想。这时候突然一个人灵机一动,想到橡树生长在菲律宾附近的爪哇岛,然后就说咱们就管它叫java吧,大家说行啊,这名字好。于是就叫java了。又因为这些人是在喝咖啡的时候决定的,所以java的标志就是一杯热腾腾的咖啡。

咱们把java程序写在文件里交给电脑去读,电脑在最一开始也不懂,怎么办呢?java提供了一个叫做jdk的工具,可以解决这个问题。jdk的全称是java developer kit,翻译过来就是开发者工具包。顾名思义,只要是跟java有关的,都可以用它解决。jdk包括三个部分,第一个叫jre,全称是java runtime environment,意思是java程序的运行环境。咱可以这么理解:把java程序看成是一个游戏。jre指的就是游戏需要什么环境才能运行。你要玩网游得需要网络吧?要玩单机得需要光盘插入游戏机吧?你不能把光盘直接插你们家墙里吧?读不了,必须得有游戏机这个环境。盗版除外;第二个叫java执行工具,相当于玩游戏时的手柄键盘,没手柄没键盘这些必要的工具你玩不了游戏,游戏开始小人动不了。这里面有个叫javac.exe的小东西就可以把java程序翻译成电脑看得懂的语言,它又叫做编译器;第三个叫类库,包含了开发人员已经开发好的模块,到时候你直接用就行了。你不用自己再编写了。这就好比你游戏里的外挂或秘籍,直接一用省了不少事。这个我到时候会带着大家学一些重要的,常用的。

现在我就带着大家下载配置jdk。由于现在Sun公司已经被甲骨文Oracle收购了,所以我们可以去甲骨文官网下载最新版本。直接搜索jdk并打开官网,你会看到各种系统上的jdk,有windows的,linux的,mac的,按照你的操作系统下载,注意区分位数,32位和64位不要混。我们教程用的是windows。

下载后双击安装,等待时间不会太久。安装完了jdk,我们看一下目录:

对应刚才讲的那三个组成部分,第一个是bin目录,指的就是刚才说的java执行工具,编译器javac.exe就在bin目录下:

第二个就是jre目录,指的是刚才讲的运行环境,比如java.exe就是个重要文件。编译器javac.exe把一个java文件编译成计算机懂的文件,然后java.exe用于执行这个编译后的文件:

lib就是第三个部分,代表类库:

装完jdk还没完,还需要配置一下java的环境变量。这步很多人容易犯错误,导致不能运行。这块我说得详细点,把截图放上来:

第一步,打开环境变量对话框 -> 点击环境变量 -> 在系统变量那个列表下新建一个变量叫JAVA_HOME,里面填上jdk的安装路径:

第二步,系统变量列表中还有一个变量叫Path,把这两个路径添进去:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;前后顺序没关系,但要注意变量值之间用分号隔开:

第三步,系统变量列表中还有一个变量叫CLASSPATH,把这三个路径添进去:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;有人说这不是俩么?注意,最前面有个点也是一个路径,千万别落下:

这三步完成就算都配完了。打开cmd命令行,在哪个目录下都可以,直接输入java -version,如果显示版本号就证明安装配置成功:

好,如果一切正常,接下来我们就该了解java是怎么工作的了。首先,还是像刚才说的,java程序会被jdk的编译器先编译成计算机懂的语言,这个编译器就好比一个翻译官一样,把.java文件直接翻译成一个后缀名为.class的文件,用于java.exe执行。不管你用的是Windows还是苹果,java程序都不在上面直接运行,而是用jdk提供的虚拟机(Java Virtual Machine,简称JVM)来运行。JVM运行在操作系统之上,打个形象点的比喻,假如我把虚拟机比喻成一辆车,java.exe就是这辆车的老司机。老司机拿着被javac翻译官翻译好的.class文件开车,车走在一个叫Windows/苹果/别的操作系统公路上,而老司机一边开车一边读.class文件。最后,老司机在车里把文件读完,生成最后结果:

这就是java的运行过程,简单来说就两步 - 编译和执行。下面开始讲怎么写代码。我们把java程序写到文件里,用来写程序的工具就叫做开发环境。记事本就是java最初的一种开发工具,咱们可以把程序写到记事本里。windows自带了个notepad,后来又有人开发了个notepad++,高级了一点。但不论如何,你要是开发大型项目用记事本非常不方便,于是市面上有了别的开发工具,其中一种叫做eclipse的工具很流行,也是咱们这个教程中要用到的。我计划是咱们一开始的一段时间先用记事本来熟悉java的写法,必要的时候我再带着大家转到eclipse上。

现在咱们就先用记事本做个练习。你先不用管我写的是什么,不懂没关系,下一篇你就都懂了。我主要就是想向大家演示一遍java程序是如何被计算机读取运行的。在电脑任意位置创建一个叫JavaIntro的文件夹,里面创建一个叫Test.java的文件,并用notepad++打开。然后里面粘贴如下代码:

保存文件,这就是我们的原始java代码。然后请javac.exe编译:cmd打开命令行,转到刚才创建的文件夹下,输入javac Test.java,注意javac不用加后缀名.exe,而且和Test.java中间有个空格。按回车,会发现同一个文件夹下生成了Test.class文件:

.class文件一旦生成就证明编译成功,计算机可以阅读了。最后请java.exe来执行.class文件。同样,还是不用后缀名,直接输入java Test,按回车:

因为这步执行的是.class文件,所以Test后面也不用写后缀名了,打印出来的结果就是程序中System.out.println()里面的内容。System是系统,print是打印,这句话的意思就是从系统终端打印。暂时不理解没关系,先记住这句话,以后的课程我会带着大家慢慢理解。这就是java运行过程的一个演示,下篇文章我们介绍java的变量以及类型转换。

这篇文章的源代码是JavaIntro项目,位置在https://github.com/cslm/cslm.selenium.java/tree/master/JavaIntro

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 精心收集整理的教程笔记 第01天 Java基础入门 第1章计算机基础 1.1计算机 计算机(computer)俗称...
    Java帮帮阅读 5,951评论 1 109
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,602评论 18 399
  • 为了钱呢?对么?
    爱之书人阅读 127评论 0 0
  • 誓言总有不舍 做爱也会记得 也记得那天的火车 将你我分别 留下一个 不会解开的结 没看到你的不舍 可我还会记得 那...
    小忧伤阅读 228评论 0 0