Linux配置Selenium+Chrome+Java实现自动化测试

1.安装chrome

sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
如果上面运行
sudo dpkg -i google-chrome*.deb命令之后报错,使用如下命令修复一下:
sudo apt-get install -f,之后再次运行sudo dpkg -i google-chrome*.deb命令就可以了

    安装后确认/usr/bin目录下是否有google-chrome文件

也可先下载安装包到本地,在安装形式不限

2安装chromedriver

建议安装最新版本的chromedriver,下载页面:
http://chromedriver.storage.googleapis.com/index.html

在这个页面里列出了chromedriver的各个版本,我的chrome浏览器版本是v62,所以我选择的版本(2.34),

具体对应关系参看我上一篇博文:http://www.cnblogs.com/longronglang/p/8078759.html

使用命令行安装:

复制代码
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

    安装后确认/usr/bin目录下是否有chromedriver文件

    由于时效性,在安装时应当先去网站查看最新版本,然后替换命令行中的2.34版本信息
复制代码

3 字符界面运行

1
2
3
4
5
6
7
8
9
如果想要在字符界面使用Chrome进行测试,需要使用工具Xvfb.
 
X Virtual Framebuffer(Xvfb)虚拟帧缓冲器,简单来说它可以直接处理 Window的图形化功能,并且不会输出到屏幕上,这就摆脱了对可视窗口的依赖
 
sudo apt-get -y install xvfb gtk2-engines-pixbuf
sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
# 截图功能,可选
sudo apt-get -y install imagemagick x11-apps
Xvfb -ac :99 -screen 0 1280x1024x16 & export DISPLAY=:99

 这项我感觉没啥用,网上看来的,但是安装完运行也没啥效果

4 demo演示

打开百度翻译首页,并输出标题,火狐和谷歌浏览器都可以,代码如下:

复制代码
package demo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class demo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//    WebDriver driver = new FirefoxDriver();//火狐浏览器为注释部分
        WebDriver driver=new ChromeDriver();//谷歌浏览器
        driver.get("http://fanyi.baidu.com/");
        driver.manage().window().maximize();
        System.out.println(driver.getTitle());
        driver.navigate().refresh();
        // driver.close();//关闭驱动
    }

}
复制代码

效果如下:

 

 

posted @   久曲健  阅读(11451)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2016-12-21 性能测试关于并发人数计算问题参考
2016-12-21 Spring泛型依赖注入
2016-12-21 Spring--通过注解来配置bean【转】
点击右上角即可分享
微信分享提示