Selenide簡介
Selenide是一個比Selenium更強大的自動化測試工具,具有以下優(yōu)勢:
- 簡潔流暢的API
- 穩(wěn)定的Ajax支持
- 更強大的selectors
- 簡單的配置
使用Selenide不需要考慮如何關閉瀏覽器、處理超時和StaleElement異常或日志,只關注業(yè)務邏輯。
Demo
新建maven工程的結構

maven工程結構
pom.xml配置
只列出<dependencies>標簽的配置
<dependencies>
<!-- Selenide依賴 -->
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>4.8</version>
</dependency>
<!-- Junit4依賴 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- log4j2及相關依賴 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
Selenide使用slf4j處理日志,以上dependencies配置中配置了log4j2,以便于運行用例時正確輸出相關日志,log4j2相關模塊可以不用配置,也不影響用例正常運行。
可選 - log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch) -->
<ThresholdFilter level="info" onMatch="ACCEPT"
onMismatch="DENY" />
<!--輸出日志的格式 -->
<PatternLayout
pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="log" fileName="./Logs/build.error" append="false">
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout
pattern="%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level %L %M - %msg%xEx%n" />
</File>
</Appenders>
<Loggers>
<Logger name="main.java.com.interf.eyee.utils.Log" level="all">
<AppenderRef ref="Console" />
<AppenderRef ref="log" />
</Logger>
<Root level="trace">
<AppenderRef ref="Console" />
<AppenderRef ref="log" />
</Root>
</Loggers>
</Configuration>
Junit4測試用例代碼
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.WebDriverRunner;
import static com.codeborne.selenide.Selenide.*;
public class TestSelenide {
// chromedriver路徑
private static final String CHROME_DRIVER_PATH = "d:/webdrivers/chromedriver.exe";
@Before
public void before() {
System.setProperty("webdriver.chrome.driver", CHROME_DRIVER_PATH);
Configuration.browser = WebDriverRunner.CHROME;
Configuration.baseUrl = "https://www.zhihu.com/";
}
@Test
public void test() {
open("/");
}
}