基于Python+Selenium+Pytest的Dockerfile如何写

使用 Dockerfile 部署 Python 应用程序与 Selenium 测试

在本文中,我们将介绍如何使用 Dockerfile 部署一个 Python 应用程序,同时利用 Selenium 进行自动化测试。我们将使用官方的 Python 运行时作为父镜像,并在其中安装所需的依赖项和工具。

1. 编写 Dockerfile

# 使用官方的 Python 运行时作为父镜像
FROM python:3.9

# 设置工作目录为/app
WORKDIR /app

# 安装依赖
RUN pip install requests selenium pytest pytest-testreport jinja2

#  copy你的项目

COPY  UIAutomation  UIAutomation 

# 添加 Google Chrome 密钥并安装 Chrome 浏览器
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
    sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y \
        wget \
        gnupg2 \
        unzip \
    && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
    && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome-keyring.gpg \
    && apt-key add /usr/share/keyrings/google-chrome-keyring.gpg \
    && apt-get update \
    && apt-get install -y google-chrome-stable\
    && CHROME_VERSION=$(google-chrome-stable --version | awk '{print $3}') \
    && echo "Installed Chrome version: $CHROME_VERSION"

# 复制 Chromedriver 压缩包到容器中(自己官网下载压缩包)
COPY chromedriver-linux64.zip /usr/local/bin/chromedriver-linux64.zip

# 解压 Chromedriver
RUN unzip /usr/local/bin/chromedriver-linux64.zip && \
    mv chromedriver-linux64/chromedriver /usr/local/bin/chromedriver && \
    chmod +x /usr/local/bin/chromedriver

# 运行 bash
CMD ["bash"]

2. Dockerfile 解释

  • 我们选择了官方的 Python 3.9 运行时作为基础镜像。
  • 设置工作目录为 /app,这是我们应用程序的根目录。
  • 使用 pip 安装了一些必要的 Python 库,包括 requestsseleniumpytest 等。
  • 安装了 Google Chrome 浏览器,以及与之兼容的 Chromedriver。
  • 最后,设置了容器启动时的默认命令为 bash,方便用户进入容器进行调试或执行其他操作。

3. 构建 Docker 镜像并运行容器

要构建 Docker 镜像,首先将上述 Dockerfile 保存为 Dockerfile 文件,然后在包含该文件的目录中打开终端,执行以下命令:

docker build -t my-python-app .

跑起来容器

docker run -d -it --name my-python-app uib

进入到容器

docker exec -it my-python-app bash 

这将启动一个交互式容器,并在其中运行默认的 bash 命令。您可以在容器中执行任何需要的操作,例如运行 Python 脚本或进行测试。

pytest -v -s   --report=_report.html --title=UI自动化 --tester=hailong --desc=H5自动化测试--template=2

出现这个证明成功了

在这里插入图片描述

相关推荐

  1. Dockerfile如何一个Dockerfile文件?

    2024-04-24 08:44:01       37 阅读
  2. 《Docker极简教程》--Dockerfile--Dockerfile基本语法

    2024-04-24 08:44:01       27 阅读
  3. Docker Dockerfile如何编写?

    2024-04-24 08:44:01       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 08:44:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 08:44:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 08:44:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 08:44:01       20 阅读

热门阅读

  1. ubuntu2004,自动安装mysql5.7.37

    2024-04-24 08:44:01       13 阅读
  2. Rust并发编程实践:10分钟入门系统级编程

    2024-04-24 08:44:01       14 阅读
  3. 团队合作和独立的理解

    2024-04-24 08:44:01       53 阅读
  4. 如何写好SQL

    2024-04-24 08:44:01       12 阅读
  5. 理解CSS中的sticky与fixed定位

    2024-04-24 08:44:01       57 阅读
  6. 02_c/c++开源库ZeroMQ

    2024-04-24 08:44:01       25 阅读