日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何讓W(xué)ebapp在Travis CI上運行?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

嗯,我有一個基于Tomcat的Web應(yīng)用程序,它是用Java和Spring-MVC框架(以及Maven)編寫的,其中我使用Selify來測試一些頁面。

在測試之前,我有以下設(shè)置:

@BeforeClass
public static void init() {
    System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
    webDriver = new ChromeDriver();

    webDriver.get("localhost:8080/app/login");
    webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}

如果我在本地計算機上運行該應(yīng)用程序,然后運行測試,則一切工作正常。

問題是,如果我希望使用Selify測試應(yīng)用程序,它必須處于運行狀態(tài)(否則,我如何連接到本地主機?)。但在應(yīng)用程序開始檢查測試之前,如何使WebApp在Travis CI上運行?

也許有一些我應(yīng)該使用的第三方資源?或者僅使用Travis CI即可完成?

我知道Heroku上有WebApp-Runner可以啟動您的WebApp,但有什么工具可以讓Travis使用嗎?

已更新。

到目前為止,我唯一的想法是在Heroku上部署和啟動應(yīng)用程序,然后在Selify測試中使用已經(jīng)運行的應(yīng)用程序。所以在測試中應(yīng)該是這樣的:

webDriver.get("someHerokuUrl");

對Github的每一次推送都是這樣的:該應(yīng)用程序在Heroku上自動部署,然后在Travis CI上進行測試。

但我覺得這是一種錯誤的方式。

我的.travis.yml配置:

language: java
jdk:
  - openjdk8
sudo: required
dist: trusty
addons: # get google-chrome-stable
  apt:
    packages:
      - google-chrome-stable
before_script:
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
  - sleep 3 
install: 
  - wget -N https://chromedriver.storage.googleapis.com/2.43/chromedriver_linux64.zip -P ~/
  - unzip ~/chromedriver_linux64.zip -d ~/
  - rm ~/chromedriver_linux64.zip
  - sudo mv -f ~/chromedriver /usr/local/bin/
  - sudo chmod +x /usr/local/bin/chromedriver

推薦答案

.travis.yml

addons:
  chrome: stable

在您需要使用ChromeHeadless模式或添加XVFB插件后。公文here.

您可以找到完整的樣本here

JUnit測試正常

package com.mycompany.app;

import static org.assertj.core.api.Assertions.assertThat;

import java.io.File;
import java.util.concurrent.TimeUnit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.test.context.junit4.SpringRunner;

import com.github.noraui.utils.Utilities.OperatingSystem;
import com.github.noraui.utils.Utilities.SystemArchitecture;

/**
 * Unit test for
 * https://stackoverflow.com/questions/53268198/how-to-make-webapp-run-on-travis-ci.
 */
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class AppTest {

    /**
     * Specific logger
     */
    private static final Logger logger = LoggerFactory.getLogger(AppTest.class);

    @LocalServerPort
    private int port;

    private WebDriver webDriver;

    @Before
    public void init() {
        final OperatingSystem currentOperatingSystem = OperatingSystem.getCurrentOperatingSystem();
        String pathWebdriver = String.format("src/test/resources/drivers/%s/googlechrome/%s/chromedriver%s",
                currentOperatingSystem.getOperatingSystemDir(),
                SystemArchitecture.getCurrentSystemArchitecture().getSystemArchitectureName(),
                currentOperatingSystem.getSuffixBinary());
        if (!new File(pathWebdriver).setExecutable(true)) {
            logger.error("ERROR when change setExecutable on " + pathWebdriver);
        }
        System.setProperty("webdriver.chrome.driver", pathWebdriver);
    }

    @After
    public void quit() {
        this.webDriver.quit();
    }

    @Test
    public void read() {
        this.webDriver = new ChromeDriver();
        webDriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        webDriver.get("http://localhost:" + port + "/app/login");
        logger.info(webDriver.getPageSource());
        assertThat(webDriver.getPageSource()).isEqualTo("<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>Hello stackoverflow.com questions 53268198</body></html>");
    }
}

Travis-ci上的痕跡:

您可以在GitHubhere

上找到所有這些代碼

這篇關(guān)于如何讓W(xué)ebapp在Travis CI上運行?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標(biāo)簽:CI Travis Webapp 運行
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定