
测试
文章平均质量分 64
冰冷的希望
坚持记录,相互帮助,一起进步
展开
-
【测试】playwright监听并修改请求或响应数据
浏览器会发送请求,服务器也会响应请求,这个过程是可以被playwright介入的,类似于开发框架里的中间件(钩子),比如说我们可以在发送请求前修改请求体活请求头,或者我们不让请求图片以提升速度。原创 2025-01-16 17:41:40 · 604 阅读 · 0 评论 -
【测试】微软测试框架playwright的使用
BrowserContext即上下文,类似于浏览器的“新的窗口”,就是在同一个浏览器实例里打开互不影响的上下文对象(不共用cookie),比打开两个浏览器更省内存。使用上下文的方式打开浏览器,最大的好处就是不用手动关闭Playwright,但是由于代码需要缩进,如果是在命令行交互式操作那就显得不方便,这时候我们也可以手动打开和关闭Playwright。对于需要登录的网站,如果不想每次都登录,可以把cookie保存下来,然后下次再加载,这样就可以免去每次登录的麻烦了。原创 2024-02-27 18:00:48 · 2342 阅读 · 1 评论 -
【测试】pywinauto的简单使用(安装、常用对象、元素控件、鼠标操作、键盘操作)
对象,可以通过Application对象的window()方法获取,参数可以是title、classname或者best_match等,这都可以在inspect.exe上看到,不过需要注意的是inspect看到的Name其实对应的是window()的title参数。pywinauto是一个用于自动化Python 模块,适合Windows系统的软件(GUI),可以通过Pywinauto遍历窗口(对话框)和窗口里的控件,也可以控制鼠标和键盘输入,所以它能做的事情比之前介绍的pysimplegui更多。原创 2023-08-22 17:40:46 · 24457 阅读 · 11 评论 -
【测试】Selenium操作Cookie
在平时使用Cookie,我最喜欢直接复制开发者工具中的请求头Cookie的那一段值,因为这样最方便了,但是,好像Selenium不支持通过请求头的方式指定Cookie,至少我没有找到,如果哪位大佬知道,欢迎在评论区分享。现在,只要你之前在浏览器登录过了,那在Selenium中打开的网页也会处于登录状态(除非登录过期了),但这种加载用户文件夹的方式也有个缺点,那就是启动Selenium之前,要先把Chrome浏览器关闭,不然是会报错的。操作Cookie无非就是读取和删除Cookie,下面这些是主要方法。原创 2023-06-21 16:09:59 · 3880 阅读 · 0 评论 -
【测试】Python手机自动化测试库uiautomator2和weditor的详细使用
我们之前在电脑操作手机进行自动化测试,基本上都是通过Appium的,这个工具确实强大,搭配谷歌官方的UiAutomator基本上可以完成各种测试,但缺点也很明显,配置环境太麻烦了,需要jdk、sdk等,后来有人在UiAutomator的基础上使用http请求rpc服务的方式做了一个uiautomator,但这个项目很久没有维护了,后面有人在此基础上进行重构和精简,所以又有了uiautomator2,这是目前为止比较好用的Python操作手机的测试库之一。如果看到一个漂亮的界面,可以选择截个图。原创 2023-02-27 17:10:50 · 8145 阅读 · 3 评论 -
【测试】在Linux(CentOS、Ubuntu)无界面服务器使用selenium
有些情况我们需要在无界面的服务器运行selenium,所以我们需要安装浏览器才能运行,下面是以centos7server版安装chrome原创 2022-01-21 15:37:54 · 2751 阅读 · 0 评论 -
【测试】修改selenium选项配置参数优化性能
selenium options常用配置,提供访问效率原创 2022-01-21 15:33:12 · 10915 阅读 · 0 评论 -
【测试】selenium反爬操作
1.Selenium特征说明如果我们在正常情况下人为打开浏览器,打开控制台输入window.navigator.webdriver,看到的值是false,但是如果使用selenium控制浏览器,会发现该值变成true或undefined,那网站就可以使用这个值去判断当前是否selenium爬虫。除了这个特征好像还有其他特征,感兴趣的话可以搜一下相关资料2.反反爬2.1 excludeSwitches注意,该方法适合旧版本chrome,chrome79之前的from selenium.webdriv原创 2021-12-16 15:38:49 · 2160 阅读 · 4 评论 -
【测试】使用selenium实现QQ邮箱登录(2023.2.7更新)
QQ邮箱登录很可能需要拖动滑块进行验证,这里当做练习selenium,实现模拟拖动滑块。1.使用selenium打开邮箱登录页面,判断是否,尝试登录,看是否需要验证码;2.若需要图片验证码,那就获取验证码图片的url,验证码图片分为滑块小图片和背景图片,分别都下载;3.使用OpenCV把图片高斯处理,然后边缘检测,匹配模板,得到最优匹配结果;4.得到滑块与缺口之间的像素值,根据实际缩放比例以及偏移量得到最终要滑动的距离;5.使用加速度公式模拟出比较类似人工操作的像素数组;6.使用selenium分原创 2020-11-03 16:31:38 · 8669 阅读 · 10 评论 -
【测试】Locust的安装、使用、分布式启动、TaskSet、SequentialTaskSet、断言
Locust 是一个纯python实现的可以进行分布式负载测试的工具。实际上它是基于requests库,但是它摒弃进程和线程,采用的是协程(Gevent),大大减少开销,所以它可以在单台压力机上产生数以千计的请求数,比起Jmeter的500上限高了不少1.安装支持3.6及以上版本pip install locust -i https://pypi.tuna.tsinghua.edu.cn/simple2.简单使用from locust import HttpUser, task, between原创 2020-10-28 21:16:08 · 1203 阅读 · 0 评论 -
【测试】pyautogui的安装、鼠标操作、键盘操作、交互弹窗、截图定位
1.pyautoguipyautogui是用来做GUI桌面应用自动化的Python包,功能类似于按键精灵,可以实现控制鼠标、键盘、消息框、截图、定位功能,支持跨平台。不过也有缺点,比如说不支持中文输入(一般配合pyperclip解决此问题)2.安装# Windowspip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple# Macpip install pyobjc-corepip install pyobjcpip原创 2020-10-27 19:16:28 · 2640 阅读 · 2 评论 -
【测试】appium的基本使用,配置环境、元素定位、简单使用、切换上下文
1.安装和配置环境1.1 安装jdkjdk官网下载https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html配置环境变量添加变量JAVA_HOME=D:\Program Files\Java\jdk\jdk1.8.0_151(换成自己的路径)在Path添加%JAVA_HOME%\bin1.2 安装SDKAndroid SDK官网下载http://dl.google.com/android/and原创 2020-10-27 11:22:37 · 873 阅读 · 0 评论 -
【测试】Pytest框架、断言、fixture、mark、配置文件、常用插件
1.PytestPytest 是一个很强大的python测试框架,里面有很多优秀的册数类,可以满足python开发中的各种测试,比如说可以标记跳过一些测试、支持重复失败的测试、支持断言等。不过它并非python内置,所以我们得另外安装 pip install -U pytest -i https://pypi.tuna.tsinghua.edu.cn/simpleimport pytestimport requestsdef test_one(): r = requests.get(原创 2020-10-22 18:00:29 · 805 阅读 · 0 评论 -
【测试】unittest单元测试、assert断言、parameterized参数化、mock替代
1. unittest基本概念1.1 unittestunittest是python官方提供的测试框架,可以同时执行多个测试用例,还有丰富的测试结果展示。下面是执行过程1.2 TestCaseTestCase(测试用例)就是一个完整的测试流程,我们称之为一个测试用例import unittest# 1.继承unittest.TestCase # 2.测试用例名要以test开头class MyTest(unittest.TestCase): def test_demo1(self)原创 2020-10-20 14:06:36 · 1370 阅读 · 1 评论 -
【Django】单元测试TestCase、Client的用法
1.单元测试单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作,是测试最小独立的单元模块如果有需要,可以给项目进行单元测试,主要目的有消灭低级错误、减少和快速定位BUG、提高代码质量2.django单元测试我们在创建好一个APP的时候,它会在自动在APP目录创建一个tests.py文件,这个就是拿来做单元测试的apps/users/tests.pyfrom django.test import TestCaseclass MyTestCase(TestCase):原创 2020-10-19 20:54:16 · 3210 阅读 · 0 评论 -
【爬虫】requests请求方式、Response、Session
1.requests该库可以发起http协议的请求,比python原生的urllib更加方便,所以经常会用在爬虫、测试等方向1.1 安装pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple1.2 请求方式请求方式包括,get、post、put、patch、delete、options、header。使用的时候可以requests.方法名(),例如requests.get()发起GET请求。当然,也可以使用request(原创 2020-10-18 20:12:09 · 2239 阅读 · 0 评论 -
【测试】Selenium的使用(常用属性方法、元素等待、操作cookie、操作元素、无头模式、获取HTML源码)
1.SeleniumSelenium是一个用于Web应用程序测试的工具,可以使用代码控制浏览器,所以一般可以用于测试、爬虫等方向免费开源跨平台,支持Linux、Win、Mac等支持多种浏览器,Chrome、Firefox、Edge等支持python、Java、C#、js等多种语言2.WebDriverSelenium不能直接控制浏览器,得经过webdriver才能与预览器交互,即webdriver是两者之间的桥梁。所以我们需要先下载webdriverChrom浏览器(chromedriv原创 2020-10-25 11:30:55 · 2587 阅读 · 1 评论