- 博客(10)
- 收藏
- 关注
原创 pytest并发(xdist)模块下的async异步
在pytest-xdist下配合异步能实现对服务的自动化压测因为在项目里,需要并发去执行测试用例,但是xdist在windows只能使用多进程,并且资源消耗比较大,本机20g内存,i5 8500cpu,在可用10g内存下,最多只能开十个左右的进程,就会内存溢出然后崩溃,所以在需要对服务进行自动化压测时,采用多进程是不可取的,而后又改为跑一个进程,在该进程下使用threading多线程,这样就可以极大节省系统资源,但是多线程也会加载整个目标函数,在同时执行自动化用例测试和压测(pytest多开)的情况下也容
2022-04-26 10:40:58
876
原创 pytest-运行指定用例(通过可配置文件)
pytest想要运行指定用例除了可以在命令上加参数,还能通过在文件里配置来实现运行指定的用例up收到的需求是,在jenkins上通过勾选用例之后构建任务,pytest就能够执行指定的用例up设计的是通过把想要执行的用例都配置到yml文件中,在jenkins勾选后,就可以修改里面的文件来达到需求ScriptsFile: all_script: #这里代表的是所有的用例,方便jenkins去显示所有的用例 - test_a - test_b - test_c - t
2022-04-01 17:35:54
7571
2
原创 pytest-xdist:并发执行用例设计(脱坑)
本文主要是讲下up通过并发执行用例时候遇到的坑吧一、pytest在并发执行用例下,用例的作用域会失效,因为xdist采用的是进程级处理用例,每条用例都是完全隔离的,所以在设计并行用例的时候,必须要保证每条用例完全独立,互不影响,包括用例执行顺序、依赖等都会失效,但是如果想实现所有用例都只执行一次,可以采用官方给的方案如果有多个前置或后置需要用到临时目录的话,也可以分开写,利用多个临时文件来达成一次性的作用域二、如果想实现执行用例前清楚allure的所有报告及执行完所有用例后利用命令生成allure报告
2022-03-31 17:11:35
5500
原创 Pytest前置函数的使用(脱坑向)
使用前置函数有两种方式1、@pytest.mark.usefixtures()2、作为函数的入参传入使用@pytest.mark.usefixtures()时,可将该装饰器放在类前或用例前,但是不能获取返回值,所以一般是用在打开浏览器操作或者初始化的一些工作,@pytest.mark.usefixtures()传入要使用的前置函数名,并且可传入多个前置函数,例如@pytest.mark.usefixtures(“login”,“open”),按顺序执行前置函数作为函数的入参传入时,执行前置函数的同时
2022-02-17 16:40:06
1434
1
原创 Scrapy结合Selenuim
middlewares部分(切记setting里打开该中间件)前置步骤都放入spider_opened(在from_crawler里连接好)import randomimport loggingfrom scrapy import signalsfrom selenium.webdriver import Chromefrom scrapy.http import HtmlResponsefrom selenium.webdriver.support import expected_condi
2022-02-16 18:14:38
322
原创 python简易异步代理池爬虫
每一个代理源单独异步去爬不方便,所以将所有的代理源的url集中起来,添加到任务队列里,爬出的结果再去根据代理源解析ip将target_url中'http://icanhazip.com'改为'https://icanhazip.com'就可以检验IP是否支持https了(成功率大概只有1%-5%,免费的要什么自行车...哈哈哈)要添加新的代理源也可像我这样去添加(不建议),爬出来的结果建议单独封装去取ip(我这样瞎搞迟早废掉)import reimport asyncioimport json
2022-02-16 14:31:21
643
原创 python连接亚马逊Athena数据库
公司有埋点业务需要,所以需要用到athena数据库,但是苦于这玩意儿在网上能查到的太少偶然间看到boto3可以连接athena数据库,然后自己稍微改造了下,能够顺利从数据库查出数据了下面贴码from boto3 import clientfrom time import sleepfrom botocore.client import Configfrom jsonpath import jsonpathclass Athena: def __init__(self,region_
2021-11-18 14:50:19
2171
原创 python在json串中取出所有想要的键(通过值取键)
RT这里使用递归方法来取出所有想要的键在这之前还需要把json串用json.load方法转换成python的数据结构obj = {'北京': '北', '南极': '南', '广州': '东', '北极': '北',"四川":{"成都":"中"},"重庆":{"江北":"中"}}res_list=[]def revert_dict(obj,value): return [k for k, v in obj.items() if v == value]def iterloop(obj:
2021-11-18 14:18:54
2009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人