01 2023 档案

摘要:一、前言 pytest.ini文件是Pytest的主配置文件,可以改变Pytest的运行方式,pytest.ini文件的名字是固定的,不能改动。 pytest.ini文件可以改变Pytest测试框架默认的行为(查找执行测试用例的行为),Pytest会读取pytest.ini文件中配置信息,按指定的方 阅读全文
posted @ 2023-01-17 10:39 测开星辰 阅读(331) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在前面的内容中其实已经讲解了pytest用例的执行,本节课对主要针对执行用例的方式进行一个汇总。 二、学习目标 1.通过IDE运行 2.通过命令行运行 3.通过main函数运行 4.通过pytest.ini运行 三、知识点 1.【通过IDE运行】 步骤一:Pycharm运行方式配置 在 阅读全文
posted @ 2023-01-17 10:38 测开星辰 阅读(2082) 评论(1) 推荐(0) 编辑
摘要:一、前言 前面我们简单介绍了如何快速生成一个allure测试报告,其实allure也是可以自定义展示的。allure报告可以自定义展示很多详细的信息描述测试用例,包括epic、feature、story、title、issue、testcase、severity等。 二、学习目标 1.allure装 阅读全文
posted @ 2023-01-17 10:37 测开星辰 阅读(272) 评论(0) 推荐(0) 编辑
摘要:一、前言 对于软件测试工作来说,测试报告是非常重要的工作产出。一个漂亮、清晰、格式规范、内容完整的测试报告,既能最大化我们的测试工作产出,又能够减少开发人员和测试人员的沟通成本。 本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。当然这也有弊端,这种测试报告 阅读全文
posted @ 2023-01-17 10:35 测开星辰 阅读(597) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们都知道,在功能测试过程中,执行完测试用例后,最终要交付测试报告来直观的展示测试结果。自动化测试也是同样,脚本运行完之后,需要有一份测试报告对测试执行的结果进行统一的汇总展示,pytest给我们提供了两个自动生成测试报告的插件,安装即用。 本节课对pytest-html这个插件做讲解,这 阅读全文
posted @ 2023-01-17 10:32 测开星辰 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:一、前言 当我们自动化测试用例非常多的时候, 一条条按顺序执行会非常慢,pytest-xdist的出现就是为了让自动化测试用例可以分布式执行,从而节省自动化测试时间,pytest-xdist是属于进程级别的并发。 二、学习目标 1.分布式执行用例的设计原则 2.pytest-xdist插件安装 3. 阅读全文
posted @ 2023-01-17 10:31 测开星辰 阅读(395) 评论(0) 推荐(1) 编辑
摘要:一、前言 在自动化测试过程中,我们执行完用例之后,需要验证脚本执行的结果和预期的结果是否一致,来达到断言测试用例是否执行成功。一般情况下我们常用的断言方式是assert + 布尔型/表达式形式,但是这种形式的断言不通过则用例会直接停止,该条用例直接结束,哪怕后面还有代码也不会执行。 那么,怎么才能让 阅读全文
posted @ 2023-01-17 10:30 测开星辰 阅读(738) 评论(0) 推荐(0) 编辑
摘要:一、前言 上面我们介绍了当用例失败时的重复运行,其实我们在实际工作中还会遇到一种情况,我们就是单纯的想让某条用例重复运行指定的次数。 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 二、学习目标 1.pytest- 阅读全文
posted @ 2023-01-17 10:30 测开星辰 阅读(480) 评论(0) 推荐(0) 编辑
摘要:一、前言 测试环境不稳定偶发接口超时(和服务无关,纯粹是环境问题),然后执行接口case也因此偶发失败。比如同一个接口case跑五次,其中有两次失败,另外三次都是成功的,这种偶发性的环境问题就需要我们手动重跑(还不一定能够通过)。有没有一个比较好的机制,保证case能够尽最大努力通过测试呢? 这里我 阅读全文
posted @ 2023-01-17 10:29 测开星辰 阅读(259) 评论(0) 推荐(0) 编辑
摘要:一、前言 在pytest中,测试用例的默认执行顺序是从上到下执行的,但是有时候我们会有这样的需求,就是打乱测试用例的执行顺序来达到某个测试效果,这时候就需要用到Pytest中的一个插件,pytest-ordering是专门用来调整用例执行顺序的。 二、学习目标 1.pytest-ordering安装 阅读全文
posted @ 2023-01-17 10:29 测开星辰 阅读(764) 评论(0) 推荐(0) 编辑
摘要:一、前言 mark主要用来标记用例,通过不同的标记实现不同的运行策略。一个大项目自动化用例时,可以划分多个模块,也可以使用标记功能,标明哪些是模块1用例,哪些是模块2的,运行代码时候指定mark名称运行就可以。 二、学习目标 1.@pytest.mark.自定义标签 2.组合运行用例 3.注册、管理 阅读全文
posted @ 2023-01-17 10:28 测开星辰 阅读(480) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们现在要学的pytest.xfail()和pytest.skip()有些相似,只不过他的含义是:将该用例标记成xfail失败,并且该用例中的后续代码不会执行。 二、学习目标 1.@pytest.mark.xfail()使用例执行失败 2.pytest.xfail()用例执行过程中使用例执 阅读全文
posted @ 2023-01-17 10:28 测开星辰 阅读(364) 评论(0) 推荐(0) 编辑
摘要:一、前言 skip和skipif,看名字就是跳过测试的意思,主要用于不想执行的代码,标记后,标记的代码不执行。 希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例 实际常见场景:根据平台不同执行测试、跳过依赖、功能未完成预期不能执行的测试 二、学习目标 1.@pytest.ma 阅读全文
posted @ 2023-01-17 10:27 测开星辰 阅读(317) 评论(0) 推荐(0) 编辑
摘要:一、前言 上节课我们讲解了如何用parametrize装饰器进行参数化,它有5个参数,argnames, argvalues, indirect, ids, scope,本节课针对这五个参数做详细讲解。 二、学习目标 1.argnames、argvalues参数实例讲解 2.indirect参数实例 阅读全文
posted @ 2023-01-17 10:26 测开星辰 阅读(1376) 评论(0) 推荐(0) 编辑
摘要:一、前言 参数化的目的是为了使测试用例代码与测试数据进行分离,这样,测试人员只需要维护测试数据,而不用更改代码。pytest模块给我们提供了专门用来参数化的装饰器:@pytest.mark.parametrize()。 二、学习目标 1.parametrize的简单应用 2.parametrize传 阅读全文
posted @ 2023-01-17 10:26 测开星辰 阅读(287) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们上节课讲到fixture自定义前置函数的时候,有5个非必填参数,scope ,params,autouse,ids,name。一般情况下这五个参数我们在工作中都不常用,但是个别情况会用到,这节课针对这五个参数做详细讲解。 二、学习目标 1.scope参数实例讲解 2.params参数实 阅读全文
posted @ 2023-01-17 10:25 测开星辰 阅读(333) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面讲到用例加 setup 和 teardown 可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现指定某一个执行前置,另一个不执行前置,则需要自定义测试用例的预置条件。 二、学习目标 1.conftest.py文件介绍 2.fixture的简单应用 3.f 阅读全文
posted @ 2023-01-17 10:24 测开星辰 阅读(170) 评论(0) 推荐(0) 编辑
摘要:一、前言 顾名思义,前置,就是在测试用例执行前执行的动作;后置,是测试用例执行后执行的动作。前置和后置一般写一些准备操作,数据准备等等,来确保测试用例的正常执行。 二、学习目标 1.类内外执行:setup/teardown 2.类外执行:setup_module/teardown_module,se 阅读全文
posted @ 2023-01-17 10:24 测开星辰 阅读(285) 评论(0) 推荐(0) 编辑
摘要:一、前言 pytest会自动的帮我们运行测试用例脚本,无需写main函数,但是必须要遵守pytest的编写用例的规范,否则pytest会识别不到哪些是测试用例脚本。 二、学习目标 1.pytest用例编写规则 2.实例演示 三、知识点 1.【pytest用例编写规则】 文件名以test_.py开头或 阅读全文
posted @ 2023-01-17 10:23 测开星辰 阅读(185) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面的课程中我们学习了selenium,requests,pyautogui等模块,这些模块是用来实现业务逻辑的,而一个测试用例则是许多业务逻辑的组合。在自动化测试脚本开发的过程中,自动化测试用例可能有几百上千条,那么如何统筹的管理并执行这些自动化测试用例呢?pytest模块帮我们解决了这 阅读全文
posted @ 2023-01-17 10:21 测开星辰 阅读(444) 评论(0) 推荐(0) 编辑
摘要:一、前言 像文本,图片,视频,音乐等能打开的文件,称之为静态资源,请求获取静态资源也叫文件下载。 二、学习目标 1.文件下载 2.爬虫案例 三、知识点 1.【获取静态文件】 静态资源文件,是通过res.content来获取文件的二进制内容,将二进制内容写入文本即可达到下载文件的效果。 代码示例: i 阅读全文
posted @ 2023-01-17 10:19 测开星辰 阅读(171) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在获取响应体数据是还会遇到一种常见的编码格式,Content-Type: application/json,我们这节课来学习如何处理这种格式的响应体。 二、学习目标 1.解析提取application/json响应体 三、知识点 1.【解析提取application/json响应体】 阅读全文
posted @ 2023-01-17 10:18 测开星辰 阅读(646) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面的课程中我们重点讲了如何模拟接口请求,接口请求成功后我们需要获取请求结果中的值,但是,不同的接口响应体的编码格式也是不同的,与请求体一样,响应体的格式也是响应头中Content-Type字段决定的。 那么如何获取响应体,并从中获取我们想要的信息呢?我们这个课来学习编码格式为Conten 阅读全文
posted @ 2023-01-17 10:17 测开星辰 阅读(1198) 评论(0) 推荐(0) 编辑
摘要:一、前言 基本认证(basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户名和密码的一种方式。本节课将讲解如何请求这种接口。 二、学习目标 1.HTTP Basic Auth基本身份认证 2.Digest Authentication摘要式 阅读全文
posted @ 2023-01-17 10:16 测开星辰 阅读(147) 评论(0) 推荐(2) 编辑
摘要:一、前言 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由S 阅读全文
posted @ 2023-01-17 10:15 测开星辰 阅读(731) 评论(0) 推荐(0) 编辑
摘要:一、前言 Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此 阅读全文
posted @ 2023-01-17 10:14 测开星辰 阅读(308) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在讲http协议的时候,已经了解到接口的请求存在请求体,也叫header。其实在模拟接口请求时,如果后台没有对header中的参数做校验,则可以不用传header信息,比如我们上面讲到的所以接口没有传header也是可以请求成功的。为了保险起见,一般情况下我们只需要发送几个重点的参数即 阅读全文
posted @ 2023-01-17 10:13 测开星辰 阅读(1142) 评论(0) 推荐(0) 编辑
摘要:一、前言 无论是get,还是post请求,我们在模拟接口请求中往往会遇到url中包含形如?name=xiaoming&age=18这种的参数,这种参数是通过url传递到服务器的,像这种参数怎么通过requests模块模拟呢,本节课做详细介绍。 二、学习目标 1.QuertString查询字符串传参 阅读全文
posted @ 2023-01-17 10:12 测开星辰 阅读(97) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面的课程中已经学习了两种POST请求中文件的传输格式,还有一种格式,Content-Type: multipart/form-data时的传参方式,这种数据传输方式的接口一般是文件上传接口,可以用files来传参。 二、学习目标 1.multipart/form-data格式传参 三、知 阅读全文
posted @ 2023-01-17 10:11 测开星辰 阅读(1847) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们上节课已经学习了Content-Type: application/x-www-form-urlencoded时的传参方式,可以用data来传参。还有一种常见的接口数据传输类型,application/json格式,顾名思义,这种类型的请求体需要使用post()方法中的json传参。 阅读全文
posted @ 2023-01-17 10:10 测开星辰 阅读(1356) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们上节课简单学习了只有url的post请求,但是在实际场景中,与get请求不同的是post请求是有请求体的,数据除了请求方发送之外,还要服务端能够解析才有意义。而这个解析操作的第一步通常就是是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体的编码方式 阅读全文
posted @ 2023-01-17 10:09 测开星辰 阅读(1712) 评论(0) 推荐(0) 编辑
摘要:一、前言 上节课我们讲到了如何通过requests模块模拟发送get请求,我们这节课学习一下另一个常见的http请求方式:post请求。与get不同的是,post请求可以传请求体,而get没有请求体。下面我们对如何发送一个简单的post请求作讲解。 二、学习目标 1.简单的post请求 三、知识点 阅读全文
posted @ 2023-01-17 10:08 测开星辰 阅读(143) 评论(0) 推荐(0) 编辑
摘要:一、前言 在前面的课程中我们讲了fiddler的使用,其实对应接口自动化来说,只需要知道怎么通过inspectors页签获取接口信息即可,关于fiddler的其他使用在接口测试中才会使用。 现在,我们已经可以拿到抓取的接口数据了,有了数据就可以模拟请求了,怎么才能模拟请求呢?python中reque 阅读全文
posted @ 2023-01-17 10:06 测开星辰 阅读(214) 评论(0) 推荐(0) 编辑
摘要:一、前言 当然,有请求就有响应,浏览器在接收到服务端的响应数据后,经过处理将有用的信息展示到浏览器上。所以,接口自动化也需要对响应内容进行解析或提取有用的数据。 二、学习目标 1.响应报文的构成 2.响应数据有哪几种格式 三、知识点 1.【响应报文的构成】 2.【响应数据有哪几种格式】 与请求数据一 阅读全文
posted @ 2023-01-17 10:05 测开星辰 阅读(40) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们上节课总体了解了http协议的相关概念,这节课我们专门针对请求做详细讲解。我们做接口自动化,其实就是通过requests模块模拟浏览器向服务器发送请求,来获取服务器返回的信息,爬虫也是运用了这个思想。我们要模拟发送请求,首先要知道请求的组成。 二、学习目标 1.请求报文的构成 2.模拟 阅读全文
posted @ 2023-01-17 10:04 测开星辰 阅读(120) 评论(0) 推荐(0) 编辑
摘要:一、前言 什么是接口?接口就是 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资 阅读全文
posted @ 2023-01-17 10:03 测开星辰 阅读(142) 评论(0) 推荐(0) 编辑
摘要:一、前言 从这节课开始,我们开始进入接口自动化的学习,接口自动化同样需要用到一个模块:requests。Requests库是用Python编写的,基于urllib,相比urllib库,Requests库更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。requests模块不仅在接口自动化有 阅读全文
posted @ 2023-01-17 10:01 测开星辰 阅读(175) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在定位元素的时候往往会碰到元素加载慢的情况,如果元素没有加载出来而进行点击操作的话,是无法点击的。我们前面一直用time.sleep()方法进行页面等待的,其中这种方法就是元素等待的一种,这节课我们主要讲一下所有元素等待的方式,这也是面试中常问的知识点。 二、学习目标 1.强制等待 2 阅读全文
posted @ 2023-01-17 09:59 测开星辰 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一、前言 expected_conditions是selenium的一个模块(简称EC),其中包含一系列可用于判断的条件。 二、学习目标 1.了解EC判定方法 三、知识点 1.【判定方法】 判定方法 #1.判断当前页面的title是否完全等于(==)预期字符串,返回是布尔值 title_is #2. 阅读全文
posted @ 2023-01-17 09:58 测开星辰 阅读(481) 评论(0) 推荐(0) 编辑
摘要:一、前言 在做web自动化的时候,我们往往会遇到两种切换:iframe、handler。iframe表示在主html上嵌入的子html页面(说人话就是一个页面中套着一个或多个页面);handler表示一个新的页签(说人话就是浏览器上方多了一个页面),但此时我们的操作仍然在原先的窗口当中,如果要在新的 阅读全文
posted @ 2023-01-17 09:57 测开星辰 阅读(961) 评论(0) 推荐(0) 编辑
摘要:一、前言 开始这节课之前先思考一个问题,cookies是什么:它是指的是网站为了辨别用户身份、进行会话保持而储存在用户本地终端上的数据。本节课的知识点在web自动化脚本编写中用到的情况比较少,所以只做了解。cookies操作一般用在selenium页面爬虫,后续讲接口自动化的时候会对cookies做 阅读全文
posted @ 2023-01-17 09:56 测开星辰 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在进行UI自动化测试时,免不了要滑动鼠标,因为有些元素并不在首屏,需要滑动鼠标才可见。 selenium进行自动化过程中,可通过execute_script执行js语句实现页面滑动。常见的滑动场景分为四种:滑动至页面底部、滑动至顶部、滑动至具体位置、滑动至目标元素可见。 二、学习目标 阅读全文
posted @ 2023-01-17 09:55 测开星辰 阅读(5056) 评论(0) 推荐(0) 编辑
摘要:一、前言 单选框叫radio 复选框叫checkbox 区别就是单选框的选项是互斥的,也就是说你只能选一个选项类似于单选题。同理复选框类似多选题想怎么选就怎么选。 一般情况下这两种都是input标签,我们可以通过点击或者发送空格的方式进行选中。 二、学习目标 1.单选框勾选 2.复选框勾选 3.判断 阅读全文
posted @ 2023-01-17 09:54 测开星辰 阅读(1551) 评论(0) 推荐(0) 编辑
摘要:一、前言 前端页面中,还有一种我们经常碰到的元素,他就是下拉框。这种元素我们其实有一种简单放法进行操作,先点击一下下拉框弹窗下拉列表,然后再点击选项。这种方法是使用两个点击动作达到选择下拉列表选项的目的。那有没有简单方法只需一步就能选择下拉项呢?这节课将解决这个疑问。 注:通过Select提供的方法 阅读全文
posted @ 2023-01-17 09:53 测开星辰 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在做项目的时候,经常会遇到弹窗的出现,而弹窗不是页面元素,无法定位并操作。那么我们如何处理弹窗呢,本节课将介绍弹窗的相关操作。 二、学习目标 1.Alert 类型弹框 2.Confirm 类型弹框 3.Prompt 类型弹框 三、知识点 地址示例:http://cdn1.python3 阅读全文
posted @ 2023-01-17 09:52 测开星辰 阅读(1023) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-01-17 09:50 测开星辰 阅读(0) 评论(0) 推荐(0) 编辑
摘要:一、前言 actionchains是selenium里面专门处理鼠标和键盘相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互。这对于做更复杂的动作非常有用,比如悬停和拖放。actionchains也可以和快捷键结合起来使用,如ctrl,shif,alt结合鼠标一起使用 二、学习目 阅读全文
posted @ 2023-01-17 09:49 测开星辰 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面的课程我们已经学习了定位元素的八大方法,其实在实际工作中只需掌握xpath定位即可满足工作需求。定位元素后,我们得到一个元素对象,从这节课开始我们开始针对这个元素对象做模拟操作。 二、学习目标 1.按钮点击操作 2.文本框操作 3.获取元素文本 4.获取元素属性 三、知识点 1.【按钮 阅读全文
posted @ 2023-01-17 09:48 测开星辰 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们上节课讲了css选择器定位元素,其实他和xpath定位类似,只是写法有所区别。selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text等等,但是这些方法局限性太大,拿id属性来说,首先一定不会每个元素都有id属性,其次元 阅读全文
posted @ 2023-01-17 09:47 测开星辰 阅读(431) 评论(0) 推荐(0) 编辑
摘要:一、前言 了解前端的同学应该知道,css是一种语言,它用来描述THML和XML的元素显示样式,在css语言中有css选择器,在Selenium中也可以使用这种选择器来定位元素。 二、学习目标 1.css结合基本属性定位(id,class,标签) 2.css结合其他属性定位 3.css标签结合其他属性 阅读全文
posted @ 2023-01-17 09:44 测开星辰 阅读(514) 评论(0) 推荐(0) 编辑
摘要:一、前言 有时候我们可以使用链接文本进行定位,因为是文本,一般是说明性的文字,所以会存在文本太长的情况,其实我们也可以通过部分文本匹配元素。 二、学习目标 1.通过部分链接文本定位 三、知识点 1.【通过部分链接文本定位】 语法: driver.find_element_by_partial_lin 阅读全文
posted @ 2023-01-17 09:41 测开星辰 阅读(362) 评论(0) 推荐(0) 编辑
摘要:一、前言 有时候我们在定位元素的时候,标签属性中没有id,name,class等常用的属性,但是标签的><之间会有文本值,则可以通过链接文本定位的方式定位元素。 注:by_link_text仅适用于标签。对于其他标签,您可以使用xpath 二、学习目标 1.通过链接文本定位 三、知识点 1.【通过链 阅读全文
posted @ 2023-01-17 09:40 测开星辰 阅读(314) 评论(0) 推荐(0) 编辑
摘要:一、前言 与class属性一样,标签名同样不是唯一的,我们在使用标签名定位时,前提是已经知道当前页面中只有这一个该名字的标签,不能用重名的。 二、学习目标 1.通过标签名定位元素 三、知识点 1.【通过标签名定位元素】 语法: driver.find_element_by_tag_name('tag 阅读全文
posted @ 2023-01-17 09:39 测开星辰 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一、前言 除了id和name以外,class通常也会存在于标签属性中,我们同样可以通过标签的class属性来定位元素。但是要注意的是,class属性的值一般在页面中不是唯一的,我们如果要定位元素,我们必须要保证定位的元素是唯一的。所以class属性定位一般不单独使用。 二、学习目标 1.通过clas 阅读全文
posted @ 2023-01-17 09:37 测开星辰 阅读(844) 评论(0) 推荐(0) 编辑
摘要:一、前言 上节课介绍了如何通过标签的id属性来定位,同样,如果标签中有name属性,我们也可以通过name属性来定位元素。 二、学习目标 1.通过name属性定位元素 三、知识点 1.【通过name属性定位元素】 语法: driver.find_element_by_name('value') 参数 阅读全文
posted @ 2023-01-17 09:34 测开星辰 阅读(236) 评论(0) 推荐(0) 编辑
摘要:一、前言 前面的小节中我们学习了如何针对页面进行自动化操作,从这节课开始,我们学习如何操作页面中的元素(按钮,输入框等)。如果有操作一个元素,必须分为两步: (1)定位元素信息,返回元素对象 (2)调用方法完成元素的模拟操作 本节课我们介绍元素定位中的id定位。 二、学习目标 1.通过id属性定位元 阅读全文
posted @ 2023-01-17 09:31 测开星辰 阅读(273) 评论(0) 推荐(0) 编辑
摘要:一、前言 有了浏览器对象,我们可以请求页面并对页面做操作了,本节课针对模拟页面操作作主要讲解。 二、学习目标 1.打开请求地址 2.driver的常用属性 3.页面的其他方法 三、知识点 1.【打开请求地址】 # 导入webdriver from selenium import webdriver 阅读全文
posted @ 2023-01-17 09:26 测开星辰 阅读(168) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在做web测试时,都是先从打开一个网站开始的,那我们自动化测试也从如何操作浏览器开始。 二、学习目标 1.如何创建浏览器对象 2.关闭浏览器 3.浏览器的其他方法 三、知识点 1.【如何创建浏览器对象】 浏览器对象你可以把它抽象的理解为一个浏览器,先有浏览器我们才能做后续的操作。 # 阅读全文
posted @ 2023-01-17 09:25 测开星辰 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、前言 从这节课开始,我们正式进入web自动化的学习,web自动化主要针对浏览器的一系列操作。web自动化则需要使用到一个库,即selenium。selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器。 其实pyauto 阅读全文
posted @ 2023-01-17 09:23 测开星辰 阅读(87) 评论(0) 推荐(0) 编辑
摘要:一、前言 Qt提供QDockWidget停靠窗口控件来实现浮动窗口的功能,QDockWidget停靠窗口控件一般使用在QMainWindow中,它是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。 二、学习目标 1.QDockWidget常用方法 2.QDockW 阅读全文
posted @ 2023-01-16 10:50 测开星辰 阅读(1747) 评论(0) 推荐(0) 编辑
摘要:一、前言 QToolBox控件提供了一个可进行一列选项卡操作方式,在每个选项卡内可包含不同的控件布局。QToolBox将选项卡一个一个地显示,当前项目显示在当前选项卡下方。每个选项卡在选项卡列中都有一个索引位置。一个选项卡的项目是一个QWidget。 二、学习目标 1.QToolBox常用方法 2. 阅读全文
posted @ 2023-01-16 10:49 测开星辰 阅读(908) 评论(0) 推荐(0) 编辑
摘要:一、前言 如果表单有太多需要同时显示的字段,可以将它们排列在不同的页面中,放置在选项卡式小部件的每个选项卡下。提供了一个标签栏和一个页面区域。显示第一个选项卡下的页面,隐藏其他页面。用户可以通过单击所需的选项卡来查看任何页面。 二、学习目标 1.QTabWidget常用方法 2.QTabWidget 阅读全文
posted @ 2023-01-16 10:49 测开星辰 阅读(1395) 评论(0) 推荐(0) 编辑
摘要:一、前言 QTreeWidget 使用类似于 QListView 类的方式提供一种典型的基于 item 的树形交互方法类,该类基于QT的“模型/视图”结构,提供了默认的模型来支撑 item 的显示,这些 item 类为 QTreeWidgetItem 类。 二、学习目标 1.QTreeWidget常 阅读全文
posted @ 2023-01-16 10:48 测开星辰 阅读(3935) 评论(0) 推荐(0) 编辑
摘要:一、前言 QTableWidget是常用的显示数据表格的控件,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的。 二、学习目标 1.QTableWidget常用方法 2.QTableWidget常用信号 3.QTab 阅读全文
posted @ 2023-01-16 10:48 测开星辰 阅读(1482) 评论(0) 推荐(0) 编辑
摘要:一、前言 QListWidget用于从列表中添加或删除项目。列表中的每个项目都是一个 QListWidgetItem 对象。ListWidget 可以设置为多选。 二、学习目标 1.QListWidget常用方法 2.QListWidget常用信号 3.QListWidget组件的应用 三、知识点 阅读全文
posted @ 2023-01-16 10:47 测开星辰 阅读(2810) 评论(0) 推荐(0) 编辑
摘要:一、前言 QFileDialog小部件是一个文件选择器对话框。它使用户能够浏览文件系统并选择要打开或保存的文件。对话框通过静态函数或调用调用**exec_()**对话框对象上的函数。 二、学习目标 1.QFileDialog常用方法 2.QFileDialog常用信号 3.QFileDialog组件 阅读全文
posted @ 2023-01-16 10:46 测开星辰 阅读(2013) 评论(0) 推荐(0) 编辑
摘要:一、前言 这是一个预配置的对话框,带有一个文本字段和两个按钮,确定和取消。用户单击 Ok 按钮或按 Enter 后,父窗口收集文本框中的输入。 用户输入可以是数字、字符串或列表中的项目。还显示提示用户他应该做什么的标签。 二、学习目标 1.QInputDialog常用方法 2.QInputDialo 阅读全文
posted @ 2023-01-16 10:45 测开星辰 阅读(879) 评论(0) 推荐(0) 编辑
摘要:一、前言 QMessageBox是一种常用的模态对话框,用于显示一些信息性消息,并可选择要求用户通过单击其上的任何一个标准按钮来做出响应。每个标准按钮都有一个预定义的标题、一个角色并返回一个预定义的十六进制数字。 二、学习目标 1.QMessageBox常用方法 2.QMessageBox常用信号 阅读全文
posted @ 2023-01-16 10:44 测开星辰 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:一、前言 QProgressDialog 进度对话框,向用户提示程序中当前任务的进度信息,用以提示当然任务正在进行,并按百分比显示进度。对话框提供了一个取消按钮,用以向用户提供终止操作的机会。 二、学习目标 1.QProgressDialog常用方法 2.QProgressDialog常用信号 3. 阅读全文
posted @ 2023-01-16 10:44 测开星辰 阅读(1070) 评论(0) 推荐(0) 编辑
摘要:一、前言 QSlider类对象向用户展示了一个可以移动手柄的凹槽。它是控制有界值的经典小部件。凹槽上手柄的位置相当于控件上下限之间的整数。 通过在构造函数中提及方向,可以以水平或垂直方式显示滑块控件。 二、学习目标 1.QSlider常用方法 2.QSlider常用信号 3.QSlider组件的应用 阅读全文
posted @ 2023-01-16 10:43 测开星辰 阅读(439) 评论(0) 推荐(0) 编辑
摘要:一、前言 QComboBox 提供一个下拉列表,其中包含可供选择的项目。只显示当前选定的项目所需的窗体上的最小屏幕空间。 二、学习目标 1.QComboBox常用方法 2.QComboBox常用信号 3.QComboBox组件的应用 三、知识点 1.【QComboBox常用方法】 | 方法 | 描述 阅读全文
posted @ 2023-01-16 10:42 测开星辰 阅读(694) 评论(0) 推荐(0) 编辑
摘要:一、前言 当文本标签前出现一个矩形框时QCheckBox对象被添加到父窗口。就像 QRadioButton 一样,它也是一个可选择的按钮。它的常见用途是在要求用户选择一个或多个可用选项的情况下。该类派生自 QAbstractButton 类 与单选按钮不同,复选框默认情况下不是互斥的。为了将选择限制 阅读全文
posted @ 2023-01-16 10:41 测开星辰 阅读(915) 评论(0) 推荐(0) 编辑
摘要:一、前言 QRadioButton类对象呈现一个带有文本标签的可选按钮。用户可以选择表单上显示的许多选项之一。该类派生自 QAbstractButton 类。 默认情况下,单选按钮是自动排他的。因此,一次只能选择父窗口中的一个单选按钮。如果选择了一个,则会自动取消选择先前选择的按钮。 二、学习目标 阅读全文
posted @ 2023-01-16 10:41 测开星辰 阅读(1267) 评论(0) 推荐(0) 编辑
摘要:一、前言 在任何 GUI 设计中,命令按钮都是最重要和最常用的控件。任何计算机用户都熟悉带有保存、打开、确定、是、否和取消等作为标题的按钮。在 PyQt API 中,QPushButton类对象提供了一个按钮,当单击该按钮时,可以对其进行编程以调用某个功能。 QAbstractButton类是所有按 阅读全文
posted @ 2023-01-16 10:40 测开星辰 阅读(454) 评论(0) 推荐(0) 编辑
摘要:一、前言 QTextEdit文本输入框可以输入多行文本。 二、学习目标 1.QTextEdit常用方法 2.QTextEdit常用信号 3.QTextEdit组件的应用 三、知识点 1.【QTextEdit常用方法】 | 方法 | 描述 | | : | : | | setPlainText() | 阅读全文
posted @ 2023-01-16 10:39 测开星辰 阅读(938) 评论(0) 推荐(0) 编辑
摘要:一、前言 QLineEdit是最常用的输入字段。它提供了一个框,可以在其中输入一行文本。 二、学习目标 1.QLineEdit常用方法 2.QLineEdit常用信号 3.QLineEdit组件的应用 三、知识点 1.【QLineEdit常用方法】 | 方法 | 描述 | | | | | text( 阅读全文
posted @ 2023-01-16 10:38 测开星辰 阅读(414) 评论(0) 推荐(0) 编辑
摘要:一、前言 QLabel对象充当占位符以显示不可编辑的文本或图像,或动画 GIF 电影。它也可以用作其他小部件的助记键。标签上可以显示纯文本、超链接或富文本。 二、学习目标 1.QLabel常用方法 2.QLabel常用信号 3.QLabel组件的应用 三、知识点 1.【QLabel常用方法】 | 方 阅读全文
posted @ 2023-01-16 10:38 测开星辰 阅读(319) 评论(0) 推荐(0) 编辑
摘要:一、前言 本节我们介绍布局组件中的区域分隔器QSplitter。 二、学习目标 1.QSplitter区域分隔器的应用 三、知识点 1.【QSplitter区域分隔器的应用】 QSplitter是一个带切分条(splitter handle)的布局管理器,可以通过setHandleWidth()函数 阅读全文
posted @ 2023-01-16 10:37 测开星辰 阅读(996) 评论(0) 推荐(0) 编辑
摘要:一、前言 本节我们介绍布局组件中的容器布局QGroupBox。 二、学习目标 1.QGroupBox容器布局的应用 三、知识点 1.【QGroupBox容器布局的应用】 容器布局将容器控件(Container)与布局管理器结合,先用容器控件将窗口分为若干区域,再在每个区域内加入布局管理器。 添加步骤 阅读全文
posted @ 2023-01-16 10:36 测开星辰 阅读(1194) 评论(0) 推荐(0) 编辑
摘要:一、前言 本节我们介绍布局组件中的表单布局QFormLayout。 二、学习目标 1.QFormLayout表单布局的应用 三、知识点 1.【QFormLayout表单布局的应用】 表单布局以两列的形式进行布局,多用于表单,一列为标签,另一列为输入控件。 添加步骤 1)创建表单布局实例:QFormL 阅读全文
posted @ 2023-01-16 10:35 测开星辰 阅读(697) 评论(0) 推荐(0) 编辑
摘要:一、前言 本节我们介绍布局组件中的网格布局QGridLayout。 二、学习目标 1.QGridLayout网格布局的应用 三、知识点 1.【QGridLayout网格布局的应用】 网格布局也称栅格布局,布局框按照行和列进行排列,将控件排列到指定的网格位置。 添加步骤 1)创建网格布局实例:QGri 阅读全文
posted @ 2023-01-16 10:34 测开星辰 阅读(1223) 评论(0) 推荐(0) 编辑
摘要:一、前言 本节我们介绍布局组件中的垂直布局QVBoxLayout。 二、学习目标 1.QVBoxLayout垂直布局应用 三、知识点 1.【QVBoxLayout垂直布局应用】 垂直布局将多个控件在垂直方向排列,控件之间的间隔相同。 添加步骤 1)创建垂直布局实例:QVBoxLayout() 2)创 阅读全文
posted @ 2023-01-16 10:32 测开星辰 阅读(397) 评论(0) 推荐(0) 编辑
摘要:一、前言 QLayout是Qt中布局管理器的抽象基类,通过对QLayout的继承,实现了功能各异且互补的布局管理器。布局管理器不是界面组件,而是界面组件的定位策略;任意容器类型的组件都可以指定布局管理器;同一个布局管理器管理中的组件拥有相同的父组件,在设置布局管理器的同时已经隐式指定了父子关系。 Q 阅读全文
posted @ 2023-01-16 10:31 测开星辰 阅读(547) 评论(0) 推荐(0) 编辑
摘要:一、前言 QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围菜单、工具条和一个状态条。QMainWindow 常常被继承,因为这使得封装中央部件、菜单和工具条以及窗口状态条变得更容 阅读全文
posted @ 2023-01-16 10:30 测开星辰 阅读(309) 评论(0) 推荐(0) 编辑
摘要:一、前言 QDialog 类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要 通讯的顶级窗口。QDialog 可以是模态对话框也可以是非模态对话框。QDialog 支持扩展性并 且可以提供返回值。它们可以有默认按钮。 二、学习目标 1.QDialog界面实现 2.QDialog常用 阅读全文
posted @ 2023-01-16 10:29 测开星辰 阅读(485) 评论(0) 推荐(0) 编辑
摘要:一、前言 QWidget翻译过来是小部件的意思,QWidgt 类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗 口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的, 并且它们按 Z 轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住 阅读全文
posted @ 2023-01-16 09:50 测开星辰 阅读(415) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示