首页 > 其他分享 >软件测试|web自动化测试神器playwright教程(十二)

软件测试|web自动化测试神器playwright教程(十二)

时间:2023-08-02 17:25:47浏览次数:33  
标签:web playwright ceshiren url base com page 软件测试

前言

在日常工作中,我们经常是基于某个测试环境地址去测试某个项目,所以应该把它单独拿出来做为一个全局的配置。其他网址可以使用不同的后缀,只使用相对地址。

常见情景

比如我们的社区,不同的类别只需要改变我们的后缀即可,如下图:

在这里插入图片描述
首页地址为:https://ceshiren.com/,我们选择查看热门帖子,如下图:

在这里插入图片描述
网址变更为:https://ceshiren.com/top,我们也可以选择查看新的内容,如下图:

在这里插入图片描述

网址变更为:https://ceshiren.com/new。

我们可以发现,网址存在的共同部分为https://ceshiren.com/,我们将这部分作为我们的base_url,其他的网址可以视为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://ceshiren.com/")

    # 访问其他网址
    page.goto("https://ceshiren.com/new")

    context.close()
    browser.close()

base_url

我们已经知道我们可以使用https://ceshiren.com/作为我们的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://ceshiren.com')

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

    # 访问最新话题页
    page.goto("/new")

    context.close()
    browser.close()

这段代码与上一段代码能实现一样的效果。

pytest-playwright使用

在pytest-playwright 插件中已经自带了pytest-base-url 插件,我们有如下两种方式将base_url引入:

  • pytest.ini中配置,如下所示:
[pytest]
base_url=https://ceshiren.com
  • 使用命令行参数,如下所示:
pytest --base-url https://ceshiren.com

测试用例如下:

from playwright.sync_api import Page


def test_blog(page: Page):
    """首页"""
    page.goto("/")


def test_latest_topic(page: Page):
    
    page.goto("/new")

总结

本文主要介绍了playwright中base_url的使用,base_url的使用帮助我们降低了耦合性,一旦base_url改变,我们只需要修改base_url即可,不需要全部修改我们的网址,更方便我们的工作。

获取更多技术资料,请点击!

标签:web,playwright,ceshiren,url,base,com,page,软件测试
From: https://www.cnblogs.com/hogwarts/p/17601223.html

相关文章

  • 软件测试|web自动化测试神器playwright教程(十三)
    前言我们在工作中,会遇到需要使用不同的硬件设备测试兼容性的问题,尤其是现在手机型号,屏幕大小分辨率五花八门的,我们基本不可能全部机型都用真机测试一遍,playwright提供了模仿机型的功能,我们可以使用playwright来模拟设备。设置手机模式配置需要模拟的设备,我们需要配置我们使用的......
  • 软件测试|web自动化测试神器playwright教程(十四)
    前言我们在日常工作中,经常会遇到下面的情况,我们需要在一个下拉框中选择一个选项:在使用selenium定位的过程中,我们可以选择使用selenium的Select类,有了playwright,我们的操作会变得更简单一些。playwright也提供了select的方法进行操作。select用法使用locator.select_option(......
  • 软件测试|web自动化测试神器playwright教程(十五)
    前言我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。弹框通常分为3种,分别为alert,confirm,promot。alert弹框:只有信息和确定按键confirm弹框:在alert弹窗基础上增加了取消按钮prompt弹框:在confi......
  • 软件测试|web自动化测试神器playwright教程(十六)
    前言在我们的日常工作中,经常会遇到文件下载的事件,如下图:我们可以看到在下载文件时会弹出一个Windows对话框,我们知道,selenium只能操作web页面,无法操作Windows对话框,使用selenium时,我们可以借助autoit等工具实现该功能。playwright则可以不借助其他工具实现文件的下载。文件下......
  • 小程序中web-view网页中打开或返回小程序页面
    小程序中web-view网页中使用JSSDK提供的接口打开或返回小程序页面1、引入JSSDK文件2、判断是否在小程序环境let_this=this;wx.miniProgram.getEnv(function(res){if(res.miniprogram){_this.miniprogram=true;}})3、根据是否小程序环境,执行操作if(th......
  • 软件测试|教你如何离线安装第三方库
    前言在日常工作生活中,我们有时需要在无法联网的设备中安装Python第三方库,在联网的情况下,我们安装第三方库只需要一条pip命令即可,运行命令之后,会自动开始下载;当我们在无法联网的情况下,我们就需要先行下载好第三方库,传输到未联网的电脑,并使用命令行安装。本文我们以安装requests库......
  • 软件测试|pip安装第三方库报代理错误,怎么解决
    前言pip是我们使用python时最常用的一个工具,我们安装卸载更新Python的第三方库都是依靠这个命令的,即使我们是使用pycharm来管理我们的第三方库,本质上还是通过pip来实现第三方库的安装卸载更新的。因此,对于一些在使用pip时出现的报错,进行一些经验的总结就很有必要了。安装第三方......
  • The Report Viewer Web Control HTTP Handler has not been registered in the applic
     system.webServer内加<handlers><addname="ReportViewerWebControlHandler"preCondition="integratedMode"verb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.Htt......
  • WebApi接口的调用和传参
    publicCommon.mdlResultModel<mdlGetHistoryData>GetHistoryDataByCondition(intpDeviceId,intpPageIndex,intpPageSize,stringpStartTime,stringpEndTime)       {           Common.mdlResultModel<mdlGetHistoryData>objResult=newCommon.m......
  • 软件测试报告的作用在哪?
    软件测试报告是测试工作的重要成果之一,它是测试人员向项目团队和相关利益相关者传递测试结果和评估软件质量的文档。软件测试报告具有以下几个重要作用:1、向项目团队和管理层提供测试结果软件测试报告会详细汇报测试的执行情况、测试用例覆盖的范围、发现的缺陷和问题等信......