Selenide + chrome 打開一個頁面

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("/");
    }
}
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容