0

Jenkins を使用して、継続的インテグレーション システムで実行するテスト スイートをセットアップ中ですが、テストの実行に問題があります。

スイートを実行しようとすると、各テスト ケースのコンソール ログに次のメッセージが表示されます。

okt 26, 2016 12:34:40 EM com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver
INFO: No webdriver is bound to current thread: 1 - let's create new webdriver

実際に新しい WebDriver を作成するわけではないため、テスト ケースはすぐに失敗し、次のケースに進み、WebDriver の作成に失敗し、テストに失敗するなどです。

ここからが奇妙になります。NetBeans (Maven を使用) を使用してローカルでテストを実行すると、同じメッセージが表示されますが、実際には WebDriver が作成され、テスト ケースが実行されます。

Jenkins での私の Maven の目標は次のとおりです。

-DfailNoTests=false -Dtest=MyTestClass install

何がこれを引き起こしているのか、私は完全に途方に暮れています。Maven の目標 (-Dselenide.browser=firefox) で browser パラメーターを使用してみましたが、これは機能せず、私が理解していることからも必要ではないはずです。デフォルト。また、エラー メッセージ自体を Web で検索しましたが、得られる唯一の結果は Selenide のソース コードになります。

私の同僚は何の問題もなくテストを実行できるので、Jenkinsは間違いなく適切に設定されています。これが私のインポートと一緒に私のコードのスニペットです:

package tests;

import static org.junit.Assert.*;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
import static com.codeborne.selenide.Selenide.page;
import static com.codeborne.selenide.WebDriverRunner.url;
import ForgotPasswordPage;
import LogInPage;
import ForgotPasswordValues;
import LogInValues;
import static org.hamcrest.CoreMatchers.containsString;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class LogInPageUITest {

    public LogInPageUITest() {
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
        open("http://example.com/login");
    }

    @After
    public void tearDown() {
    }

    LogInPage logInPage = page(LogInPage.class);
    ForgotPasswordPage forgotPasswordPage = page(ForgotPasswordPage.class);

    @Test
    public void testCheckFooter(){
        $(logInPage.getLogInFooter().shouldBe(visible));

        String footerURL = logInPage.getLogInFooter().innerHtml();
        assertEquals(footerURL, LogInValues.LOGIN_FOOTER_LINK_URL);

        logInPage.getLogInFooter().click();
        assertEquals(url(), LogInValues.LOGIN_FOOTER_LINK_URL);
    }
}

どんな助けでも大歓迎です。

編集: これが私の pom.xml ファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mygroup</groupId>
    <artifactId>qa-uitests</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.6</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>report-only</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>
    <dependencies>
        <dependency>
            <groupId>com.codeborne</groupId>
            <artifactId>selenide</artifactId>
            <version>3.11</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
            <version>2.53.1</version>
            <type>jar</type>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <name>qa-uitests</name>
</project>
4

0 に答える 0