Java中Selenium函数的使用
admin
2023-03-25 21:41:37
0

环境

本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。

  • Docker
  • Fun
  • Fcli

Fun 和 Fcli 工具依赖于 docker 来模拟本地环境。

对于 MacOS 用户可以使用 homebrew 进行安装:

brew cask install docker
brew tap vangie/formula
brew install fun
brew install fcli

Windows 和 Linux 用户安装请参考:

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

安装好后,记得先执行 fun config 初始化一下配置。

注意, 如果你已经安装过了 fun,确保 fun 的版本在 2.10.2 以上。

$ fun --version
2.10.1

快速开始

初始化

使用 fun init 命令可以快捷地将本模板项目初始化到本地。

fun init vangie/selenium-java-example

安装依赖

$ fun install
...

本地测试

测试代码 ChromeDemo 的内容为:

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: 云端集成开发环境
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: 云端集成开发环境

相关内容

热门资讯

【第一消息】“蛮王炸/金/花开... 家人们!今天小编来为大家解答蛮王炸/金/花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪...
重磅消息“新八戒怎么装挂?”(... 网上科普关于“新八戒有没有挂”话题很是火热,小编也是针对新八戒作*弊开挂的方法以及开挂对应的知识点,...
玩家最新攻略“二八杠有没有挂?... 网上科普关于“二八杠有没有挂”话题很是火热,小编也是针对二八杠作*弊开挂的方法以及开挂对应的知识点,...
重磅消息“新众亿牛牛有挂吗?”... 您好:新众亿牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
位于巴丹吉林沙漠中的“达格图湖... 你是否曾经想象过一片湖泊也能变成红色的吗?位于中国内蒙古的巴丹吉林沙漠中,有一片被称为“达格图湖”的...
玩家攻略科普“极速暗宝真的有挂... 您好:极速暗宝这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
最新引进“泸州大贰是不是有挂?... 您好:泸州大贰这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【今日要闻】“微信链接麻将辅助... 【今日要闻】“微信链接麻将辅助器?”(果然有透视挂)您好,微信链接麻将这个游戏其实有挂的,确实是有挂...
今日重磅消息“功夫川麻是不是有... 今日重磅消息“功夫川麻是不是有挂?”(外卦神器下载)您好,功夫川麻这个游戏其实有挂的,确实是有挂的,...
我来教教您“新星游牛牛是不是有... 网上科普关于“新星游牛牛有没有挂”话题很是火热,小编也是针对新星游牛牛作*弊开挂的方法以及开挂对应的...