小知识👇
一、什么是自动化测试:
自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。
二、自动化测试工具:
1. QTP(UTF) :提供录制、回放、支持C/S ,B/S两种架构系统,收费,需要破解,只支持IE浏览器(ie9 以下)
2. Robot Framework:支持关键字驱动,Python语言编写的一款自动化测试框架,支持数据库测试,移动端测试,接口测试
3. RFT(和Qtp类似):支持录制和回放,支持C/S,B/S两种架构的系统,收费,需要破解,支持 Java.net vbscript语言
4. Watri:也是一款 Web应用程序的自动化测试工具,使用Ruby语言开发的一款自动化测试工具(Ruby是日本编程语言)
5. Selenium(目前最火):
(1)支持多语言:Java、Python、C、C++、C#、PHP、JavaScript、Ruby。
(2)支持多浏览器:Chrome、Firefox、IE、Safari(苹果公司研发)、Edge(Windows10自带)、 Opera(欧朋浏览器,现被360收购)
(3)支持多平台:Linux、Windows、Mac OS
(4)简单 API : 很多操作浏览器的方法(webdriver api ),比如:最大化窗口、浏览器等待、操作下拉框等
(5)支持并行执行测试用例:可以在 Windows 下用谷歌浏览器做自动化测试,同时也可以在 Liunx下用火狐(Firefox)浏览器做自动化测试
(6)开源、免费、支持二次开发(可以对 selenium 的源码进行改造)
三、Selenium工具介绍:
历史版本:Selenium1.0、Selenium2.0、 Selenium3.0、Selenium4.0(最新)。
版本介绍:
1、Selenium1.0 的构成:selenium ide + selenium grid + selenium rc。
2、Selenium2.0 包含Selenim1.0 + Webdriver。
3、Selenium3.0 包含Selenium ide + Selenium grid + webdriver:
(1)ide:提供录制和回放的一个工具(火狐浏览器自带的一个插件)
(2)grid:支持并行执行测试用例
(3)rc:可以简单理解为控制浏览器行为的一个远程服务器
(4)Webdriver:它是一套操作浏览器的API(接口规范),包含了控制浏览器行为的一些操作方法
Rc和Webdriver的区别:
1、Rc:是通过外部一大堆 js 函数来调用浏览器做自动化测试。因为Rc最开始有一部分用户为了保持向下兼容,所以Rc没有完全去掉
2、Webdriver:是通过原生浏览器驱动来调用浏览器做自动化测试。Webdriver和浏览器的紧密结合度比Rc更好
Selenium3.0 的特点:
1、去掉了大部分Rc,全面支持Webdriver
2、支持Java8以上的开发环境
3、Firefox的驱动和Selenium分离,只支持 firefox47 版本及以上的浏览器,另外需要单独配置驱动,这是由于 firefox46 版本以下的驱动是自动集成在浏览器本身的
PS:由于本人用的是3.0的版本,所以4.0本文不做介绍
四、什么是浏览器驱动:每一种浏览器都有自己的原生浏览器驱动,驱动是一个.exe后缀文件,比如谷歌的驱动是 chromedriver.exe 需要单独下载驱动(网上下载)。做自动化测试需要调用浏览器的驱动来完成。
基于 Selenium3.4 的自动化测试环境搭建👇
一、所需工具:
--JDK
--Eclipse
--Selenium for Java
--Selenium在Edge浏览器上的 driver 插件(驱动)
二、Selenium相关工具包的下载:
Selenium下载官网:http://www.seleniumhq.org/download/ PS:国内可能需要连接VPN才能下载
点开链接后往下滑:
滑到这个界面后,如图圈起来的部分,点击here:
然后选择自己需要的jar包下载:
三、 创建 Selenium 的 Java 项目:
1) 打开Eclipse,创建一个Java 项目
2) 在你创建的项目下,新建一个文件夹Tools,把 Selenium 相关包放到这个文件夹下
3) 右击项目,选择 Build Path,然后选择 Confige Build Path...,弹出框点击 Libraries
4) 点击 Add JARs... ,弹出框,选择当前项目下 Tools 这 个 文 件 夹 里 面 的 selenium-server-standalone-3.4.0.jar,确定,效果如下。
四、Selenium 启动浏览器:
1) 用 Windows 自带的Edge浏览器做自动化测试需要到微软官网下载对应浏览器版本的驱动,如果你是Win7的系统可能需要去 Selenium 官网下 载 Edge 的 driver 插件。2020年之后,微软最新Edge浏览器是基于Chromium内核的,所以不需要再去下载插件。
2)从https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/,去下载与所查浏览器版本对应的Microsoft WebDriver
下载对应的浏览器驱动:
3) 解压驱动,放到项目目录下:
将红圈驱动放到对应项目目录位置,如下图:
4) 启动Edge浏览器:
示例代码如下
public class SeleniumTest1 {// 自动化脚本
public static void main(String[] args) throws InterruptedException {
// 1、加载驱动
System.setProperty("webdriver.edge.driver", ".\\Tools\\msedgedriver.exe");
// 2、声明一个浏览器实例
WebDriver driver = new EdgeDriver();
// 3、打开网页
driver.manage().window().maximize();// 窗口最大化
driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);//设置隐性等待时间
driver.get("https://www.bilibili.com/");//验证打开的链接是b站(打开浏览器到指定页面)
System.out.println("当前打开页面的标题:" + driver.getTitle());//获取当前网页的title值
driver.quit();// 关闭并退出浏览器
}
}
效果如下
这样我们就成功的启动了Edge浏览器,感兴趣的小伙伴可以动手试试!
PS:
1、做自动化测试最好浏览器更新关闭,新版本会出现兼容问题,要重新下载对应驱动
2、一个项目中,相同浏览器的驱动只能有一个,浏览器发布新版的时候要把旧版的浏览器驱动删掉替换成最新的驱动
3、这是我发表的第一篇文章,有不正之处望各位小伙伴们指正。关于Selenium 启动浏览器 对此有任何问题或者看法欢迎讨论,我们一起进步!!!