千家信息网

Java中Selenium函数的使用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,环境本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配
千家信息网最后更新 2025年12月02日Java中Selenium函数的使用

环境

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

  • Docker
  • Fun
  • Fcli

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

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

brew cask install dockerbrew tap vangie/formulabrew install funbrew 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 --version2.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-9503582ccb56handle user request is com.aliyun.fc.selenium.ChromeDemo::handleRequestcache is null!Starting ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881) on port 20652Only local connections are allowed.Mar 05, 2019 11:34:27 AM org.openqa.selenium.remote.ProtocolHandshake createSessionINFO: Detected dialect: OSSPage title is: 云端集成开发环境FC Invoke End RequestId: 68c83b4c-b053-479c-9b0e-9503582ccb56RequestId: 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: 云端集成开发环境
环境 工具 开发 云端 版本 用户 集成开发 项目 测试 配置 代码 内容 命令 平台 是在 桌面 模板 系统 装好 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库需要实现数据运算吗 监控数据库表在哪个文件夹 数据库数据一致性检验方法 数据库和服务器不符合怎么办 杭州汉立互联网科技 汉服 选计算机网络技术高中要选什么学 添天互联网科技有限 上海时代网络技术服务代理商 死亡边境2东南亚服务器进不了 hive数据库怎么切换 企业级代理服务器 主要的高分子数据库 吉林专业网络技术服务咨询报价 自由城计划怎么开服务器 静安区管理软件开发代理价格 栖霞区网络技术服务经验丰富 加码智能网络技术 川大网络安全研究生招生简章 最简单的软件开发模型 认证软件开发 php怎么显示数据库的表 燃烧的远征霜语服务器拍卖行在哪 海康cvr服务器接入录像机 辽宁智能养老软件开发专业制作 计算机网络技术当火箭军用得上吗 辽交的计算机网络技术专业怎么样 后端服务器主要使用什么系统 乐亭软件开发承诺守信 软件开发与测试校招 怎么制定软件开发计划书
0