当前位置: 首页 > wzjs >正文

有做模仿易企秀网站吗武汉seo软件

有做模仿易企秀网站吗,武汉seo软件,做外贸上哪些网站,阿里云网站建设教程Python Playwright:如何在Docker 容器运行测试? 前言一、简介二、环境准备1. 安装 DockerWindows 用户macOS 用户Linux 用户(以 Ubuntu 为例) 2. 启动 browserless 服务拉取 browserless 镜像启动 browserless 容器验证 browserl…

Python + Playwright:如何在Docker 容器运行测试?

    • 前言
    • 一、简介
    • 二、环境准备
      • 1. 安装 Docker
        • Windows 用户
        • macOS 用户
        • Linux 用户(以 Ubuntu 为例)
      • 2. 启动 browserless 服务
        • 拉取 browserless 镜像
        • 启动 browserless 容器
        • 验证 browserless 是否启动成功
    • 三、创建自动化测试项目
      • 1. 创建项目目录
      • 2. 新建 `requirements.txt`
      • 3. 新建 `conftest.py`
      • 4. 新建 `pages/baidu_page.py`
      • 5. 新建 `test_baidu.py`
    • 四、编写 Dockerfile
    • 五、编写 Docker Compose 文件
    • 六、运行测试
    • 七、常见问题与排查
    • 八、目录结构参考
    • 结语

前言

  • 在自动化测试领域,Playwright 结合 Docker 容器化部署,可以极大提升测试环境的可移植性和一致性, browserless 项目则为浏览器的无头远程管理提供了极佳的解决方案。
  • 本文将手把手教你如何在 Docker 容器中,利用 Python+Playwright,结合 browserless远程浏览器服务,运行自动化测试用例。

一、简介

  • Docker:容器化技术,保证环境一致性。
    在这里插入图片描述

  • browserless:基于 Docker 的无头浏览器服务,支持 Playwright、Puppeteer 等远程连接。
    在这里插入图片描述


二、环境准备

1. 安装 Docker

Windows 用户
  1. 访问 Docker Desktop 官网 下载 Windows 版本安装包。
    在这里插入图片描述

  2. 双击安装包,按提示完成安装。

  3. 安装完成后,启动 Docker Desktop,确保右下角 Docker 图标为绿色(表示已启动)。

  4. 打开命令行(PowerShell 或 CMD),输入以下命令验证安装:

    docker --version
    

    如果能看到 Docker 版本号,说明安装成功。

macOS 用户
  1. 访问 Docker Desktop 官网 下载 macOS 版本安装包。

  2. 双击 .dmg 文件,将 Docker 拖入 Applications 文件夹。

  3. 启动 Docker Desktop,等待 Docker 图标变为绿色。

  4. 打开终端,输入:

    docker --version
    

    出现版本号即为安装成功。

Linux 用户(以 Ubuntu 为例)
  1. 打开终端,依次执行以下命令:

    sudo apt-get update
    sudo apt-get install -y ca-certificates curl gnupg
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  2. 验证安装:

    docker --version
    

    出现版本号即为安装成功。


2. 启动 browserless 服务

拉取 browserless 镜像

在命令行中执行:

docker pull browserless/chrome
启动 browserless 容器
docker run -d -p 3000:3000 --name browserless browserless/chrome
  • -d 表示后台运行
  • -p 3000:3000 将容器的 3000 端口映射到本机 3000 端口
  • --name browserless 给容器起个名字,方便后续管理
验证 browserless 是否启动成功

在浏览器中访问 http://localhost:3000
如果看到 browserless 的欢迎页面,说明服务已启动成功。


你的最新第三点“创建自动化测试项目(以百度为例)”的完整内容如下:


三、创建自动化测试项目

1. 创建项目目录

mkdir playwright-docker-demo
cd playwright-docker-demo
mkdir pages

2. 新建 requirements.txt

playwright
pytest

3. 新建 conftest.py

import pytest
from playwright.sync_api import sync_playwrightBROWSERLESS_WS_ENDPOINT = "ws://browserless:3000/playwright"@pytest.fixture(scope="session")
def browser():with sync_playwright() as p:browser = p.chromium.connect_over_cdp(BROWSERLESS_WS_ENDPOINT)yield browserbrowser.close()

4. 新建 pages/baidu_page.py

class BaiduPage:def __init__(self, page):self.page = pagedef goto(self):self.page.goto("https://www.baidu.com")def search(self, keyword):self.page.fill("input[name='wd']", keyword)self.page.keyboard.press("Enter")def has_result(self, text):self.page.wait_for_selector(f"text={text}")return text in self.page.content()

5. 新建 test_baidu.py

import pytest
from pages.baidu_page import BaiduPagedef test_baidu_search(browser):page = browser.new_page()baidu = BaiduPage(page)baidu.goto()baidu.search("Playwright")assert baidu.has_result("Playwright")page.close()

注意:browserless 是 Docker Compose 中的服务名,后文会详细说明。


四、编写 Dockerfile

在项目根目录新建 Dockerfile

FROM python:3.10-slimWORKDIR /appCOPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD ["pytest", "--maxfail=1", "--disable-warnings", "-v"]

五、编写 Docker Compose 文件

新建 docker-compose.yml

version: '3'
services:browserless:image: browserless/chromeports:- "3000:3000"environment:- MAX_CONCURRENT_SESSIONS=5- PREBOOT_CHROME=trueplaywright:build: .depends_on:- browserlessenvironment:- PYTHONUNBUFFERED=1# 保证 playwright 服务启动后再运行测试entrypoint: ["sh", "-c", "sleep 5 && pytest --maxfail=1 --disable-warnings -v"]

六、运行测试

在项目根目录下执行:

docker-compose up --build

你将看到 pytest 的输出,测试用例会通过 browserless 服务远程控制浏览器,完成自动化测试。


七、常见问题与排查

  1. 连接失败

    • 确认 browserless 服务已启动并监听 3000 端口。
    • 确认 Playwright 连接的 ws 地址为 ws://browserless:3000/playwright(服务名+端口)。
  2. 依赖问题

    • Playwright 依赖的 Python 包已在 requirements.txt 中声明。
    • 若需更多依赖,可在 Dockerfile 中添加。
  3. 网络问题

    • Docker Compose 默认服务间可通过服务名互通,无需额外配置。

八、目录结构参考

playwright-docker-demo/
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── conftest.py
├── test_baidu.py
└── pages/└── baidu_page.py

结语

通过本文的操作,你已经学会了如何利用Python+Playwright+Docker+browserless,在容器中高效运行自动化测试用例。这种方式不仅保证了环境一致性,还能轻松扩展到 CI/CD 流水线,助力自动化测试体系建设。


参考链接:

  • Playwright 官方文档
  • browserless GitHub
  • Docker 官方文档
http://www.dtcms.com/wzjs/257599.html

相关文章:

  • 学院网站建设服务宗旨seo怎么优化关键词排名培训
  • 上海松江做网站的公司重庆seo代理计费
  • 专业的营销型网站最新报价网络营销和网络销售的关系
  • 九台网站网络销售公司
  • 小程序注册的账号是常州谷歌优化
  • 永久免费做网站市场监督管理局是干什么的
  • 六日做兼职的网站互联网的推广
  • 网站用什么字体做正文十大搜索引擎网站
  • 营销型网站建设必备功能安庆seo
  • 家装设计图纸seo也成搜索引擎优化
  • 做一个交易网站多少钱湖南seo优化
  • 做兼职一般去哪个网站好成都百度推广代理公司
  • 开公司可以在哪些网站做推广关键词自动生成器
  • 广东电商网站建设免费二级域名注册网站有哪些
  • 做化工贸易要用那些网站推广淘宝怎么做引流和推广
  • 惠山网站建设广告接单平台有哪些
  • 金安合肥网站建设专业新品怎么推广效果最好
  • 东莞网站制作搭建优化关键词排名工具
  • 网站建设与管理维护书籍网络营销理论
  • 做网站购买域名百度收录网站入口
  • 网站静态杭州网站建设方案优化
  • 仿网站源码是怎么弄的武汉网站推广排名
  • 广州网站定制电商网站销售数据分析
  • 响应式网站设计的现状软文范例大全100字
  • 找单位做网站需要注意什么站长收录
  • 做网站一年费用企业员工培训课程内容
  • 短网址统计福州seo优化
  • 北京市住房建设委官方网站国内新闻最新消息简短
  • 怎么用支付宝做发卡网站比较靠谱的推广平台
  • 房地产最新政策调整深圳市seo点击排名软件价格