溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中Selenium函數(shù)的使用

發(fā)布時(shí)間:2020-05-29 09:10:57 來源:億速云 閱讀:241 作者:Leah 欄目:云計(jì)算

環(huán)境

本項(xiàng)目是在 MacOS 下開發(fā)的,涉及到的工具是平臺(tái)無關(guān)的,對(duì)于 Linux 和 Windows 桌面系統(tǒng)應(yīng)該也同樣適用。在開始本例之前請(qǐng)確保如下工具已經(jīng)正確的安裝,更新到最新版本,并進(jìn)行正確的配置。

  • Docker
  • Fun
  • Fcli

Fun 和 Fcli 工具依賴于 docker 來模擬本地環(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)參考:

  1. https://github.com/aliyun/fun/blob/master/docs/usage/installation.md
  2. https://github.com/aliyun/fcli/releases

安裝好后,記得先執(zhí)行 fun config 初始化一下配置。

注意, 如果你已經(jīng)安裝過了 fun,確保 fun 的版本在 2.10.2 以上。

$ fun --version
2.10.1

快速開始

初始化

使用 fun init 命令可以快捷地將本模板項(xiàng)目初始化到本地。

fun init vangie/selenium-java-example

安裝依賴

$ fun install
...

本地測(cè)試

測(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();

    }

}

本地運(yùn)行

$ 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: 云端集成開發(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

執(zhí)行

$  fcli function invoke -s chrome -f selenium
  Page title is: 云端集成開發(fā)環(huán)境

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI