W30-python03-pytest+selenium+allure访问百度网站实例

此篇文章为总结性,将pystest、selenium、allure结合起来

功能如下,web自动化,输入baidu网站,搜索“雷军”、打开网页中第一条内容

tools.webkeys 相关文件见附件。

pytestsel.py如下:

import time
import re
import allure
import pytest
from tools.webkeys import Web@allure.feature('#1 电商测试用例demo')
class Test_Obj:def setup_class(self):self.web = Web()self.web.open_browser()@allure.story('#1 打开百度')def test_baidu(self):allure.dynamic.title('登录')allure.dynamic.description('登录百度的描述')with allure.step('输入网址'):self.web.get_url('http://www.baidu.com')time.sleep(3)with allure.step('输入搜索关键字'):self.web.input('kw','雷军')time.sleep(3)with allure.step('点击搜索'):self.web.click('su')time.sleep(3)with allure.step('获取outerHTML'):str = self.web.get_attribute('content_left','outerHTML')allure.attach(self.web.driver.get_screenshot_as_png(), '执行成功', allure.attachment_type.PNG)with allure.step('跳转到第一个链接'):reg = r'mu="(.*?)"\s'url = re.findall(reg, str)self.web.get_url(url[0])allure.attach(self.web.driver.get_screenshot_as_png(), '执行成功', allure.attachment_type.PNG)time.sleep(10)self.web.driver.quit()

程序执行入口

import osimport pytestif __name__ == '__main__':#window下删除报告的命令os.system('rd /s/q result')os.system('rd /s/q result')# pytest.main(['-s', 'pytestallure.py', '--alluredir', './result'])pytest.main(['-s', 'pytestsel.py', '--alluredir', './result'])os.system('allure generate result -o report --clean')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/385453.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解计算机系统 CSAPP 家庭作业11.7

静态内容是指在不同请求中访问到的数据都相同的静态文件。例如:图片、视频、网站中的文件(html、css、js)、软件安装包、apk文件、压缩包文件等。 /** get_filetype - derive file type from file name*/ void get_filetype(char *filename,…

数组与链表谁访问更快

一、线性表 线性表是数据结构中的一种基本类型,它由一组线性排列的元素组成。线性表的特点是可以进行顺序访问,但不支持随机访问。 二、非线性表 非线性表是数据结构中另一种类型,如树和图,它们由多个节点组成,节点…

【运维笔记】数据库无法启动,数据库炸后备份恢复数据

事情起因 在做docker作业的时候,把卷映射到了宿主机原来的mysql数据库目录上,宿主机原来的mysql版本为8.0,docker容器版本为5.6,导致翻车。 具体操作 备份目录 将/var/lib/mysql备份到~/mysql_backup:cp /var/lib/…

湖仓一体架构解析:数仓架构选择(第48天)

系列文章目录 1、Lambda 架构 2、Kappa 架构 3、混合架构 4、架构选择 5、实时数仓现状 6、湖仓一体架构 7、流批一体架构 文章目录 系列文章目录前言1、Lambda 架构2、Kappa 架构3、混合架构4、架构选择5、实时数仓现状6、湖仓一体架构7、流批一体架构 前言 本文解析了Lambd…

IEC104转MQTT网关支持将IEC104数据转换为华为云平台可识别的格式

随着智能电网和物联网技术的深度融合,传统电力系统中的IEC104协议设备正逐步向更加开放、智能的物联网体系转型。华为云作为全球领先的云计算和AI服务提供商,其物联网平台为IEC104设备的接入与数据处理提供了强大的支撑。本文将探讨IEC104转MQTT网关在MQ…

【Linux网络】应用层协议:HTTP 与 HTTPS

本篇博客整理了 TCP/IP 分层模型中应用层的 HTTP 协议和 HTTPS协议,旨在让读者更加深入理解网络协议栈的设计和网络编程。 目录 一、协议是什么 1)结构化数据的传输 2)序列化和反序列化 补)网络版计算器 .1- 协议定制 .2- …

昇思25天学习打卡营第22天|Pix2Pix实现图像转换

Pix2Pix图像转换学习总结 概述 Pix2Pix是一种基于条件生成对抗网络(cGAN)的深度学习模型,旨在实现不同图像风格之间的转换,如从语义标签到真实图像、灰度图到彩色图、航拍图到地图等。这一模型由Phillip Isola等人在2017年提出&…

【Android】广播机制

前言 广播机制是Android中一种非常重要的通信机制,用于在应用程序之间或应用程序的不同组件之间传递信息。广播可以是系统广播,也可以是自定义广播。广播机制主要包括标准广播和有序广播两种类型。 简介 在Android中,广播(Broa…

【C++】string类(下)

个人主页~ string类(上) string类 二、模拟实现string类1、头文件string.h2、常见构造3、容量函数4、访问及遍历5、类对象修改6、流插入流提取重载 二、模拟实现string类 今天我们来实现一下上篇文章中详细介绍过的接口 1、头文件string.h #pragma onc…

数据库(MySQL)-DQL数据查询语言

DQL(Data Query Language 数据查询语言)的用途是查询数据库数据,如select语句。其中,可以根据表的结构和关系分为单表查询和多表联查。 单表查询 单表查询:针对数据库中的一张数据表进行查询 全字段查询 语法:select 字段名 fro…

【Dart 教程系列第 49 篇】什么是策略设计模式?如何在 Dart 中使用策略设计模式

这是【Dart 教程系列第 49 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.22.1、Dart SDK:3.4.1 文章目录 一:什么是策略设计模式?二:为什么要使用策略设计模式&#xff1…

Vue element ui分页组件示例

https://andi.cn/page/621615.html

Ubuntu安装mysql,并使用IDEA连接mysql

一、安装Mysql 1.更新源 sudo apt-get update2.安装Mysql apt-get install mysql-server3.检查是否安装成功 mysql --version4.启动和关闭mysql的命令如下: #启动 sudo service mysql start #关闭 sudo service mysql stop #重启 sudo service mysql restart5.查看mysql运行…

19145 最长无重复子数组

这个问题可以使用滑动窗口的方法来解决。我们可以使用两个指针,一个指向子数组的开始,一个指向子数组的结束。然后我们使用一个哈希表来记录每个元素最后出现的位置。当我们遇到一个已经在子数组中出现过的元素时,我们就将开始指针移动到这个…

【数据结构】顺序表(c语言实现)(附源码)

​ 🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 1.顺序表的概念与结构 2.顺序表的分类 3.顺序表的实现 3.1 结构定义及方法的声明 3.2 方法的实现 3.2.1 初始化 3.2.2 销毁 3.2…

科技与占星的融合:AI 智能占星师

本文由 ChatMoney团队出品 在科技的前沿领域,诞生了一位独特的存在——AI占星师。它并非传统意义上的占星师,而是融合了先进的人工智能技术与神秘的占星学知识。 这能够凭借其强大的数据分析能力和精准的算法,对星辰的排列和宇宙的能量进行深…

基于SpringBoot实现验证码功能

目录 一 实现思路 二 代码实现 三 代码汇总 现在的登录都需要输入验证码用来检测是否是真人登录,所以验证码功能在现在是非常普遍的,那么接下来我们就基于springboot来实现验证码功能。 一 实现思路 今天我们介绍的是两种主流的验证码,一…

Bouncy Castle集成SM2与SM3

在Bouncy Castle库中,SM2和SM3是两种分别用于非对称加密和数字签名的密码算法,它们也可以结合使用,形成一种高安全性的加密签名方案,即SM2withSM3。以下是对SM2SM3的详细解释: 一、SM2算法 SM2是一种由中国国家密码管…

GEE:设置ui.Map.Layer上交互矢量边界填充颜色为空,只显示边界

一、目标 最近在GEE的交互功能鼓捣一些事情,在利用buffer功能实现了通过选点建立一个矩形后,需要将该矩形填充颜色设为空,只留边界。 然而通过正常设置layer的可视化参数并不能实现这一目的。因此只能另辟蹊径,改为定义矢量边界…

VMware 上安装 CentOS 7 教程 (包含网络设置)

**建议先看一些我安装VMware的教程,有些网络配置需要做一下 1.打开VMware,创建虚拟机 2.勾选自定义,点击下一步 3.点击下一步 4.勾选“稍后安装操作系统”,点击下一步 5.勾选linux,勾选centos7,点击下一步…