首页 > 编程语言 >python+playwright 学习-16.new_context上下文之非常好用的base_url 参数

python+playwright 学习-16.new_context上下文之非常好用的base_url 参数

时间:2023-02-28 13:00:30浏览次数:47  
标签:playwright 16 python url base context new page

前言

在做自动化测试的时候,我们经常是基于某个测试环境地址去测试某个项目,所以应该把它单独拿出来做为一个全局的配置。
其它地方用相对地址就行。在pytest用例里面可以用到pytest-base-url 插件来实现。
playwright 不得不说设计的非常人性化,堪称web自动化界的“海底捞”服务,就差上厕所帮你扶着了~

使用场景

如下测试场景, 在多个地方都会有访问的地址,并且环境地址都是一样https://www.cnblogs.com, 也就是我们说的base_url地址。

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context()

    page = context.new_page()
    # 打开首页
    page.goto("https://www.cnblogs.com/")

    # 点点点后打开其他页
    page.goto("https://www.cnblogs.com/yoyoketang")

    context.close()
    browser.close()

当很多地方都用到base_url 的时候,为了方便切换环境,应该单独拿出来,做全局配置

base_url 的使用

base_url 参数是在new_context() 新建上下文的时候使用

优化后的代码如下:

from playwright.sync_api import sync_playwright


with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(base_url='https://www.cnblogs.com')

    page = context.new_page()
    # 打开首页
    page.goto("/")

    # 点点点后打开其他页
    page.goto("/yoyoketang")

    context.close()
    browser.close()

这样只需相对地址即可访问了。

标签:playwright,16,python,url,base,context,new,page
From: https://www.cnblogs.com/yoyoketang/p/17163625.html

相关文章

  • python爬取豆瓣Top250(urlliib+re+bs4+xlwt)
    frombs4importBeautifulSoupimporturllib.request,urllib.errorimportxlwt#进行excel操作importreimporttime#获取电影名的规则findtitle=re.compil......
  • python exec_command 命令无效的原因
    当使用PythonParamikoexec_command执行时,某些Unix命令失败并显示“未找到”_互联网集市(qyyshop.com)链接里的解释解决了问题  本来直接调用runmqsc,命令无效,因......
  • python 多线程编程
    多线程编程importtimeimportthreadingdefsing(msg):whileTrue:print(msg)time.sleep(1)defdance(msg):whileTrue:print......
  • python getattr 反射的使用
    前言反射的本质是通过字符串去调用某对对象的方法/属性,或者调用模块中的函数等。python中提供了四个重要的方法getattr获取对象属性/对象方法hasattr判断对象是否有对......
  • python 如何实现多线程
    今天本来打算学习学习多进程的,但是由于我现在的电脑没有Linux系统,无法通过Linux系统编辑一些多进程的程序,因此我打算从多线程入手。多线程我们的程序一般都是多任务的,如......
  • 跟女朋友介绍十个常用的 Python 内置函数,她夸了我一整天
    内置函数是什么了解内置函数之前,先来了解一下什么是函数 将使用频繁的代码段进行封装,并给它起一个名字,当我们使用的时候只需要知道名字就行函数就是一段封装好的、可......
  • python基于评论情感分析和回归、arima销量预测的购物网站选品
    全文链接:http://tecdat.cn/?p=31678原文出处:拓端数据部落公众号分析师:RuBai网络购物模式已成为越来越重要的产品销售模式,亚马逊网站早在1995年就开始邀请产品消费者发......
  • python文件路径
    importos#获取绝对路径#os.path.abspath("__file__")获取当前文件的绝对路径#os.path.dirname(os.path.abspath("__file__"))获取当前文件目录path=os.path.......
  • Python多版本管理pyenv
    1背景&概述因某些需求,需要安装TensorFlow,很自然地在终端敲下了以下命令:pipinstalltensorflow1然后。。。好家伙???居然没有??因为是Python3.9,去pypi搜索了,居然......
  • Python 异步: 保护任务免于取消(13)
    Asyncio任务可以通过调用它们的cancel()方法来取消。我们可以通过将任务包装在对asyncio.shield()的调用中来保护任务不被取消。让我们仔细看看。1.什么是Asyncio......