環(huán)境
目前成都創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、鹽都網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。本項(xiàng)目是在 MacOS 下開(kāi)發(fā)的,涉及到的工具是平臺(tái)無(wú)關(guān)的,對(duì)于 Linux 和 Windows 桌面系統(tǒng)應(yīng)該也同樣適用。在開(kāi)始本例之前請(qǐng)確保如下工具已經(jīng)正確的安裝,更新到最新版本,并進(jìn)行正確的配置。
Fun 和 Fcli 工具依賴于 docker 來(lái)模擬本地環(huán)境。
對(duì)于 MacOS 用戶可以使用 homebrew 進(jìn)行安裝:
brew cask install docker
brew tap vangie/formula
brew install fun
brew install fcli
Windows 和 Linux 用戶安裝請(qǐng)參考:
安裝好后,記得先執(zhí)行 fun config
初始化一下配置。
注意, 如果你已經(jīng)安裝過(guò)了 fun,確保 fun 的版本在 2.10.2 以上。
$ fun --version
2.10.1
使用 fun init 命令可以快捷地將本模板項(xiàng)目初始化到本地。
fun init vangie/selenium-java-example
$ fun install
...
測(cè)試代碼 ChromeDemo 的內(nèi)容為:
public class ChromeDemo implements StreamRequestHandler {
public void handleRequest(InputStream inputStream,
OutputStream outputStream,
Context context) throws IOException {
System.setProperty("webdriver.chrome.driver", "/code/chromedriver");
ChromeOptions options = new ChromeOptions();
options.setBinary("/code/headless-chromium");
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--no-sandbox"); // Bypass OS security model
options.addArguments("--headless");
WebDriver driver = new ChromeDriver(options);
driver.get("https://ide.fc.aliyun.com");
outputStream.write(("Page title is: " + driver.getTitle() + "\n").getBytes());
driver.quit();
}
}
$ mvn package && fun local invoke selenium
...
FC Invoke Start RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56
handle user request is com.aliyun.fc.selenium.ChromeDemo::handleRequest
cache is null!
Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 20652
Only local connections are allowed.
Mar 05, 2019 11:34:27 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Page title is: 云端集成開(kāi)發(fā)環(huán)境
FC Invoke End RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56
RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56 Billed Duration: 5265 ms Memory Size: 1998 MB Max Memory Used: 240 MB
$ mvn package && fun deploy
$ fcli function invoke -s chrome -f selenium
Page title is: 云端集成開(kāi)發(fā)環(huán)境
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。