软件测试/测试开发丨Web自动化—capability参数配置 学习笔记

2023-11-02

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/27336

一、capability概述

  • capability是webdriver支持的标准命令之外的扩展命令(配置信息)
  • 配置web驱动属性,如浏览器名称、浏览器平台。
  • 结合selenium gird完成分布式、兼容性测试
  • 官网地址: https://www.selenium.dev/zh-cn/documentation/webdriver/capabilities/shared/

二、capability配置

def test_capability():
    # 切换成 windows 就会报错
    capabilities = {"browserName": "chrome", "platformName": "windows"}
    # 通过 desired_capabilities 添加配置信息
    driver = webdriver.Chrome(desired_capabilities=capabilities)
    driver.implicitly_wait(5)
    driver.get("https://ceshiren.com/")
    # 输入框输入搜索内容[霍格沃兹测试学院]
    text = driver.find_element(By.CSS_SELECTOR, ".login-button").text
    # 点击搜索按钮
    print(text)
    time.sleep(3)
    driver.quit()

三、Selenium Grid简介

image

  • Selenium Grid 允许我们在多台机器上并行运行测试,并集中管理不同的浏览器版本和浏览器配置(而不是在每个单独的测试中)。
  • 官网地址:https://www.selenium.dev/documentation/grid/

四、分布式运行

def test_ceshiren2():
    hogwarts_grid_url = "https://selenium-node.hogwarts.ceshiren.com/wd/hub"
    capabilities = {"browserName":"chrome","browserVersion":"101.0"}
    # 配置信息
    # 实例化Remote,获取可以远程控制的driver实例对象
    # 通过 command_executor 配置selenium hub地址
    # 通过 desired_capabilities 添加配置信息
    driver = webdriver.Remote(
        command_executor=hogwarts_grid_url,
        desired_capabilities=capabilities)
    driver.implicitly_wait(5)
    driver.get("https://ceshiren.com/")
    # 输入框输入搜索内容[霍格沃兹测试学院]
    text = driver.find_element(By.CSS_SELECTOR, ".login-button").text
    # 点击搜索按钮
    print(text)
    time.sleep(3)
    driver.quit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试/测试开发丨Web自动化—capability参数配置 学习笔记 的相关文章

  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • Python,将函数的输出重定向到文件中

    我正在尝试将函数的输出存储到Python中的文件中 我想做的是这样的 def test print This is a Test file open Log a file write test file close 但是当我这样做时 我收到
  • “隐藏”内置类对象、函数、代码等的名称和性质[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很好奇模块中存在的类builtins无法直接访问的 例如 type lambda 0 name function of module
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • 集成开放平台接口中心基于IdentityServer4的鉴权机制

    源宝导读 企业数字化生态建设中为解决集成多样性和资源统一管理的痛点引入企业级网关 网关作为资源访问的大门 身份认证鉴权是其业务的重中之重 本文将介绍企业级网关 天际集成开放平台是如何通过IdentityServer4来做到身份认证和鉴权业务
  • QT 5.6.1使用虚拟键盘,适用于arm-linux

    获取源码 https github com hanshuaipeng QtInputMethod GooglePinyin git 编译后得到的文件 包含全志A64 IMX6ULL和UBUNTU可用的 so文件 https download
  • 清华大学的计算机课程表,清华大学计算机专业课程表

    清华大学计算机专业课程表 应用泛函分析4学分 流形上的微积分4 秋 数论与编码 代数编码理论3 春 初等数论与多项式2 秋 应用统计3学分 必修不少于12学分 允许在院系教务部门认可下选修理学院的同类型课程 以下课程中必修4 门课 不少于1
  • AS 3.4.1 gradle问题

    编译后报错信息大概如下 Gradle s dependency cache may be corrupt this sometimes occurs after a network connection timeout Re downloa
  • 2023年国家护网0day-poc/exp漏洞全汇总(目前已更新到91个..实时更新中...)

    文章目录 前言 0x01 Sxf 报表系统 版本有限制 0x02 E Cology 某版本 SQL注入漏洞 0x03 某恒明御运维审计与风险控制系统xmlrpc sock任意用户添加漏洞 0x04 泛微 E Cology 某版本 SQL注入
  • Qt 多种方式读写二进制文件

    将文本数据写入二进制文件 然后从二进制文件中读出 还原为文本数据 include mainwindow h include
  • 服务器数码管不显示,单片机数码管亮但是没有数字咋回事?

    题目要求是 利用ADC0809设计一个简易数字电压表 要求可以测量0 5V之间8路输入电压值 电压值由4位LED数码管显示 并在数码管上轮流显示或单路选择显示 2 测量最小分辨率为0 019V 测量误差约为 0 02V include un
  • 【05】Nginx之Rewrite功能配置

    Rewrite是Nginx服务器提供的一个重要基本功能 是Web服务器产品中几乎必备的功能 主要的作用是用来实现URL的重写 注意 Nginx服务器的Rewrite功能的实现依赖于PCRE的支持 因此在编译安装Nginx服务器之前 需要安装
  • 【Python】 numpy数组操作

    数据类型转换 frame gt ndarray 函数 table name np array frame name import numpy as np data array np array data print type data ar
  • API测试方案

    接口测试方案 目录 一 简介 一 定义 二 为什么做接口测试 1 越底层发现bug 修复成本越低 越早发现bug 修复成本越低 2 前后端按约定的接口开发 接口测好了 前端随便改 后端不用变 3 如今的系统复杂度不断上升 传统的测试方法成本
  • Ubuntu 指定文件默认打开方式(以QT Creator为例)

    Ubuntu 14 04 32位系统 想用QT Creator做Ubuntu下的代码编辑器 以前安装的QT4 8 6自带QT Creator 2 4 1版本太老 现在的QT Creator在Linux下已经都是64位版本了 官方最后的Lin
  • Python装饰器学习

    第一步 最简单的函数 准备附加额外功能 1 2 3 4 5 6 7 8 coding gbk 示例1 最简单的函数 表示调用了两次 def myfunc print myfunc called myfunc myfunc 第二步 使用装饰函
  • 运行项目报错Unable to build: the file dx.jar was not loaded from the SDK folder!

    在Eclipse中运行项目时 报题目中的错误 出现该问题的原因是高版本 如26 0 0 的build tools中的dx jar不可用 可能是兼容问题 因此问题的解决方法有两种 使用低版本 如25 0 2 build tools中的dx j
  • Vivado的FIR IP核实现低通滤波器

    本文介绍如何使用Vivado的FIR IP核实现低通滤波器 我们将设计一个采样频率为10MHz 通带0 1MHz 阻带高于2MHz的FIR低通滤波器 测试时 滤波器的输入信号为1MHz和3MHz的正弦波的叠加信号 期望滤波器能输出失真较小的
  • 高德地图显示影藏交通图层

    效果如图 核心代码 this traffic new AMap TileLayer Traffic autoRefresh true 是否自动刷新 默认为false interval 180 刷新间隔 默认180s zIndex 10 zo
  • 数字IC手撕代码-泰凌微笔试真题

    前言 本专栏旨在记录高频笔面试手撕代码题 以备数字前端秋招 本专栏所有文章提供原理分析 代码及波形 所有代码均经过本人验证 目录如下 1 数字IC手撕代码 分频器 任意偶数分频 2 数字IC手撕代码 分频器 任意奇数分频 3 数字IC手撕代
  • bes2300开发调试笔记

    记录学习过程以及遇到的问题 持续看心情更新 bes2300之环境搭建 一 bes2300之按键配置 二 bes2300之led配置 三 bes2300之prompt配置 四 bes2300之RTX介绍及简单运用 五 bes2300之电源管理
  • 前端性能优化《一》:vue-cli3中使用external进行cdn配置

    目录 一 背景 二 作用 三 基本用法 第一步 vue config js中配置externals 第二步 html中引入静态资源 配置完成 四 区分生产环境和开发环境 第一步 vue config js中配置externals 第二步 h
  • kong插件在请求时添加允许跨域请求头

    需求 需要在Kong上设置对websocket允许跨域 类似nginx上实现的效果 add header Access Control Allow Origin add header Access Control Allow Headers
  • 软件测试/测试开发丨Web自动化—capability参数配置 学习笔记

    点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接 https ceshiren com t topic 27336 一 capability概述 capability是webdriver支持的标准命令之外的扩展命令