web自动化测试(java+seleium)环境安装

news2024/11/15 5:47:18

目录

  • 0、应用
  • 1、linux安装
    • 1.1 安装chromium
    • 1.2 安装chromedriver
    • 1.3 安装xvfb
  • 2、java maven依赖
    • selenium依赖
  • 3、入门案例

0、应用

前一段时间,需要实现一个模拟页面操作的功能,去检测程序运行是否稳定,因此就用到了web自动化检测的功能。
1、实现该功能,首先需要一个浏览器(firefox,chrome),
2、然后需要一个操作浏览器的驱动程序,需与浏览器相对应(geckodriver,chromedriver)
3、之后便是我们在程序中使用的测试工具(selenium)
4、因为在linux中进行操作,所以需要一个虚拟的Xserver(Xvfb)来进行桌面的模拟。

因为在centos进行操作,最开始使用了firefox+geckodriver,但最终实现一直不稳定(可能是版本问题),换成了chromium+chromedriver。

1、linux安装

1.1 安装chromium

1、下载rpm文件

下载地址:https://pkgs.org/download/chromium
找到下边的centos7,即可获取链接,点击进去向下拉,找到download

在这里插入图片描述

利用wget进行下载

在这里插入图片描述

2、下载完成后,通过yum下载chromium

yum localinstall ./chromium-[刚下载的rpm版本号].rpm

1.2 安装chromedriver

下载地址:http://chromedriver.storage.googleapis.com/index.html
找到与下载的chromium相对应的版本,或者最紧邻的版本

在这里插入图片描述

1.3 安装xvfb

1、利用yum下载软件

yum install xorg-x11-server-Xvfb bzip gtk3

2、编写Xvfb执行脚本,使更方便对其执行进行控制

touch /etc/init.d/xvfb
vi /etc/init.d/xvfb

(将下边内容粘贴进去)

#!/bin/bash  
#  
# /etc/rc.d/init.d/xvfbd  
#  
# chkconfig: 345 95 28  
# description: Starts/Stops X Virtual Framebuffer server  
# processname: Xvfb  
#  
  
. /etc/init.d/functions  
  
[ "${NETWORKING}" = "no" ] && exit 0  
  
PROG="Xvfb"  
PROG_OPTIONS=":7 -ac -screen 0 1024x768x24"  
PROG_OUTPUT="/tmp/Xvfb.out"  
  
case "$1" in  
    start)  
        echo -n "Starting : X Virtual Frame Buffer "  
        $PROG $PROG_OPTIONS>>$PROG_OUTPUT 2>&1 &  
        disown -ar  
        /bin/usleep 500000  
        status Xvfb & >/dev/null && echo_success || echo_failure  
        RETVAL=$?  
        if [ $RETVAL -eq 0 ]; then  
            /bin/touch /var/lock/subsys/Xvfb  
            /sbin/pidof -o  %PPID -x Xvfb > /var/run/Xvfb.pid  
        fi  
        echo  
        ;;  
    stop)  
        echo -n "Shutting down : X Virtual Frame Buffer"  
        killproc $PROG  
        RETVAL=$?  
        [ $RETVAL -eq 0 ] && /bin/rm -f /var/lock/subsys/Xvfb /var/run/Xvfb.pid  
        echo  
        ;;  
    restart|reload)  
        $0 stop  
        $0 start  
        RETVAL=$?  
        ;;  
    status)  
        status Xvfb  
        RETVAL=$?  
        ;;  
    *)  
     echo $"Usage: $0 (start|stop|restart|reload|status)"  
     exit 1  
esac  
  
exit $RETVAL

3、开启Xvfb需要设置环境变量,可以添加在/etc/profile下,也可以先设置临时的

export DISPLAY=:7

4、将文件变为可执行文件,并执行

cd /etc/init.d/
chmod 777 ./ xvfb
./xvfb start
./xvfb status

在这里插入图片描述
5、测试,此时我们便可以使用浏览器进行访问网页

chromium-browser -headless --no-sandbox http://www.baidu.com
或者
/usr/bin/chromium-browser -headless --no-sandbox http://www.baidu.com
在这里插入图片描述

打印出来一堆信息,说明安装成功,

2、java maven依赖

selenium依赖

 <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-java</artifactId>
       <version>3.141.59</version>
   </dependency>

3、入门案例

放入自己的浏览器地址以及驱动
(如果可以直接,用chromium-browser命令,可以省去设置浏览器地址)

在这里插入图片描述

运行及打印结果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos8安装部署JumpServer堡垒机

1&#xff1a;安装支持在线安装和离线安装&#xff0c;我们选择在线安装一键部署。安装需要的环境要求。 OS/ArchArchitectureLinux KernelSoft Requirementlinux/amd64x86_64> 4.0wget curl tar gettext iptables pythonlinux/arm64aarch64> 4.0wget curl tar gettext …

highcharts 堆积图

参考 多坐标轴混合图 | JShare 使用 js资源 https://cdn.highcharts.com.cn/10.2.1/highcharts.js https://cdn.highcharts.com.cn/10.2.1/modules/exporting.js https://img.hcharts.cn/highcharts-plugins/highcharts-zh_CN.js 效果 js 引用 <script src"https…

【网页设计】期末大作业html+css(体育网站)--杜丹特篮球介绍8页 带报告

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园篮球网页设计 | 足球体育运动 | 体育游泳运动 | 兵乓球 | 网球 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML&#xff1a;结构 CSS&…

代码随想录刷题|LeetCode 343. 整数拆分 96.不同的二叉搜索树

目录 343. 整数拆分 思路 整数拆分 96.不同的二叉搜索树 思路 不同的二叉搜索树 343. 整数拆分 题目链接&#xff1a;力扣 思路 动态规划的题目虽然说是要先确定dp数组的含义&#xff0c;再确定递归公式&#xff0c;但是总感觉这两者是相辅相成的&#xff0c;是一起出来的&…

[附源码]java毕业设计校园飞毛腿系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【三维点云】2-三维点云表征

文章目录内容概要1 三维数据的获取方式及原理1.1 被动测量单目立体视觉双目立体视觉多目立体视觉1.2 主动测量结构光3D成像TOF 3D成像脉冲法相位法2 三维数据的获取原理立体视觉测量法相机成像模型小孔成像模型&#xff08;相机成像模型的理想情况&#xff09;单目立体视觉聚焦…

[附源码]计算机毕业设计JAVA基于web的球类体育馆预定系统

[附源码]计算机毕业设计JAVA基于web的球类体育馆预定系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; …

SPARKSQL3.0-SessionState构建源码剖析

一、介绍 Apache Spark 2.0引入了SparkSession&#xff0c;其目的是为用户提供了一个统一的切入点来使用Spark的各项功能&#xff0c;不再需要显式地创建SparkConf, SparkContext 以及 SQLContext&#xff0c;因为这些对象已经封装在SparkSession中。此外SparkSession允许用户…

字节跳动提出KVM内核热升级方案,效率提升5.25倍!

背景 作为云计算最重要的底层基础之一&#xff0c;KVM 虚拟化软件在现代的数据中心中应用非常广泛。基于 KVM 的 hypervisor 包括了构成宿主机的软硬件&#xff0c;共同为虚拟机中的应用程序提供高性能的 CPU、内存和 IO 设备等资源。在大规模部署的生产环境中&#xff0c;作为…

周年更名,元宇宙产业委再上新台阶

今天&#xff0c;2022年11月10日&#xff0c;全球元宇宙大会在鹏城隆重举行&#xff0c;这个日子也是中国移动通信联合会元宇宙产业工作委员会成立一周年的日子。会上&#xff0c;我们宣布了这个更名消息&#xff0c;这也是元宇宙产业工作委员会迈上一个新台阶的标志。有20多家…

ES学习笔记

01:REST 指的是客户端和服务器之间的交互在请求之间是无状态的,从客户端到服务器的每个请求都必须包含理解请求所必须的信息,同时在请求之间的任意间隔时间点,若服务器重启,那么客户端是得不到相应的通知的.所以无状态的请求可以由任何可用的服务器回答. 在REST样式的Web服务中…

LeetCode 42.接雨水

这篇记录一下刷接雨水这道题的过程&#xff0c;日后回顾 目录 法1&#xff1a; 法2&#xff1a; 法3&#xff1a; 法4&#xff1a; 法5&#xff1a; 务必掌握123 写这道题要知道雨水怎么算。核心就是要算当前列雨水的高度就要取决于这列左右两侧比自己搞得柱子中较矮的那…

【26-业务开发-基础业务-品牌管理-图片管理-上传图片功能实现-基于阿里云OSS服务-解决跨域问题-设置跨域规则-修改ACL权限为公共读】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

springmvc源码之Web上下文初始化

系列文章目录 springmvc源码之Web上下文初始化 文章目录系列文章目录Web上下文初始化ContextLoaderListenerinitWebApplicationContext初始化创建WebApplicationContext上下文Web上下文初始化 web上下文与SerlvetContext的生命周期应该是相同的&#xff0c;springmvc中的web上…

公众号免费查题

公众号免费查题 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#xff09; 题…

Flink概念及应用场景

1、Flink实时应用场景 Flink在实时计算领域内的主要应用场景主要分为四类&#xff1a; 实时数据同步流式ETL实时数据分析复杂事件处理2、实时数据体系架构 实时数据体现大致分为三类场景&#xff1a; 流量类业务类特征类在数据模型上&#xff0c;流量类是扁平化的宽表&…

论文管理系统(用户列表显示功能)

上次我们已经实现了论文管理系登录功能,这次我们要实现登录之后的跳转到首页,并且让首页列表显示出数据库的信息并在Mapper中写入模糊查询功能语句,这次我们不使用MybatisPlus写这个功能,这次使用Mybatis来写,区别就是Plus是继承于<BaseDAO>Mapper,而Mybatis则是我们通过…

JAVASE(复习)——static

static 关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量 一、被static修饰的特点 被类的所有对象共享&#xff08;在堆内存共享&#xff09; 随着类的加载而加载&#xff0c;优先于对象存在&#xff08;就是你加载类的时候就加载了&#xff09; 可以通过…

@Transactional注解为何会失效

使用 Transactional 注解能保证方法内多个数据库操作要么同时成功、要么同时失败。但是有很多细节需要注意&#xff0c;不然Transactional可能会失效。 1.注解应用在非 public 的方法上 如果Transactional注解应用在非public 修饰的方法上&#xff0c;Transactional将会失效。…

FLink源码 1.13 3 种 命令客户端 Generic CLI 、 yarn-cluster、DefaultCLI使用

先说结论:对于三种Cli,Generic CLI mode、yarn-cluster mode、default mode,无法同时使用,源码使用顺序为Generic CLI mode优先判断,接着是 yarn-cluster mode ,最后是default mode,所以对于三种Cli的参数,不能混用,否则会出现命令不生效的情况,具体使用以及源码见下…