Java自动化测试(selenium 22)

Java自动化测试(selenium 22)

selenium IDE

selenium IDE是一个Firefox/Chrome插件,用于记录和回放用户与浏览器的交互。使用它来创建简单的脚本或协助进行探索性测试。

下载selenium IDE

下载地址:https://www.selenium.dev/downloads/

官网

可翻墙的使用chrome浏览器,不可以翻墙的用firefox浏览器

chrome商店

开始使用-录制

  1. 打开Selenium IDE插件

selenium IDE

  1. 点击Record a new test in a new project
  2. 项目名称设置为web-test(任意)

项目名称

  1. 测试页面选择https://www.baidu.com

测试页面

  1. 点击Start Recording自动打开页面。右下角有Selenium IDE is recording ...录制中的标记

截屏2020-08-27 上午6.51.17

6.在该页面上操作后再次点击插件停止录制

停止录制

从图中可以看到,总共操作了7步

  • 打开浏览器
  • 设置浏览器大小
  • 点击输入框
  • 输入python
  • 点击搜索按钮
  • 点击搜索结果的第一行
  • 进入新的弹出页面

测试步骤

开始使用-执行

点击播放按钮进行回放

点击播放速度,降低播放速度,防止出现因为操作过快导致的元素无法找到的问题。

执行

java selenium环境搭建

chrom浏览器下载

https://www.chromedownloads.net/chrome64win/

Firefox浏览器下载

http://ftp.mozilla.org/pub/firefox/releases/

Maven

https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java/3.141.59

1
2
3
4
5
6
7
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>

驱动

IE

使用 IE 浏览器进行 Web 自动化测试,selenium-java.jar 包和 IE 驱动是同步的(如下图),所以只需要关注 IE 驱动和 IE 浏览器版本如何搭配。

如果你使用 ie6、ie7 请使用 selenium 2.42 或者 2.40 版本,也就是图中的版本。如果你使用的 ie8-ie11 推荐使用 2.50 之后的版本。

镜像地址:https://npm.taobao.org/mirrors/selenium/

下载

Chrome

使用 Chrome 浏览器进行 Web 自动化测试,selenium-java.jar 是通用的,只需要关注 Chrome 驱动和 Chrome 浏览器版本是否对应即可。在 70.0.3538.16 之后,Chrome 驱动和 Chrome 浏览器是一一对应。之前的版本会有一个 notes.txt 进行描述(如下图)。

镜像地址:https://npm.taobao.org/mirrors/chromedriver/

Firefox

使用 Firefox 浏览器进行 Web 自动化测试,相对于 IE 和 Chrome 更复杂一些。需要 selenium-java.jar、Firefox 驱动、Firefox 浏览器都匹配。这个匹配关系在 GitHub 上 Firefox 驱动项目 releases 中(如下图)。

地址:https://github.com/mozilla/geckodriver/releases

对应关系

测试Demo-IE

将Driver放到resources

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.zhongxin.day01;

import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class WebDemo {
public static void main(String[] args) throws InterruptedException {
// 设置ie启动项
DesiredCapabilities capabilities = new DesiredCapabilities();
// 忽略缩放
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
// 忽略保护模式
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
// 设置初始化浏览器地址
capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "https://www.baidu.com");
// 配置ie驱动位置
System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
// 创建ie驱动对象
InternetExplorerDriver driver = new InternetExplorerDriver();
// 打开百度
driver.get("https://www.baidu.com");
// 停留3秒
Thread.sleep(3000);
// 关闭驱动
driver.quit();
}
}

测试Demo-Chrome

1
2
3
4
5
6
7
private static void chrome() throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver");
ChromeDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
Thread.sleep(3000);
driver.quit();
}

测试Demo-Firefox

1
2
3
4
5
6
7
8
private static void firefox() throws InterruptedException {
System.setProperty("webdriver.firefox.bin", "D:\\Mozilla Firefox\\firefox.exe");
System.setProperty("webdriver.firefox.driver", "src/test/resources/geckodriver.exe");
FirefoxDriver driver = new FirefoxDriver();
driver.get("https://www.baidu.com");
Thread.sleep(3000);
driver.quit();
}

提取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.zhongxin.day01;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class WebDemo {
public static void main(String[] args) throws InterruptedException {
String type = "chrome";
WebDriver driver = null;
if ("chrome".equalsIgnoreCase(type)) {
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver");
driver = new ChromeDriver();
} else if ("ie".equalsIgnoreCase(type)) {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "https://www.baidu.com");
System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
driver = new InternetExplorerDriver();
} else if ("firefox".equalsIgnoreCase(type)) {
System.setProperty("webdriver.firefox.bin", "D:\\Mozilla Firefox\\firefox.exe");
System.setProperty("webdriver.firefox.driver", "src/test/resources/geckodriver.exe");
driver = new FirefoxDriver();
}
driver.get("https://www.baidu.com");
Thread.sleep(3000);
driver.quit();
}
}
 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
您的支持将鼓励我继续创作!