python
qq_41529264
这个作者很懒,什么都没留下…
展开
-
drf对返回数据进行修改的两种方法
1、场景:一个接口可以有多个测试用例。例如只输入字段A,只输入字段B等。但是我们需要知道这个接口有多少用例我们可以在view进行修改,返回数据在response.data['results']中,通过将testcase中的interface_id等于返回数据中的id,并计算数量,将该数量,返回item['testcases'] def list(self, request, *args, **kwargs): response = super().list(request, ..原创 2022-02-10 12:35:47 · 1195 阅读 · 0 评论 -
drf中校验、以及校验的顺序
1、常用几种校验,在序列化器类中我们定义,并在在对应字段中添加,失败提示min_length=6, max_length=20,这样如果长度不在6到20 将提示错误。error_messages={ 'min_length': '仅允许6~20个字符的确认密码', 'max_length': '仅允许6~20个字符的确认密码', }这样填写错误时按照此处进行提示,。 password_confirm = serializers.CharField(label='确认密码', .原创 2022-02-08 10:34:16 · 1233 阅读 · 0 评论 -
django中value和value_list的区别
django中value和value_list的区别我们使用Projects.objects.values()返回的是,查询集,查询集中是字典,所以可以使用Projects.objects.values().first()['name']获取name的值<QuerySet [{'id': 4, 'create_time': datetime.datetime(2021, 5, 7, 13, 33, 10, 747023, tzinfo=<UTC>), 'updat..原创 2022-02-07 22:50:46 · 1829 阅读 · 0 评论 -
关于webUI自动化的一些思考、建议
1、使用自动化测试用例命名进行文件顺序前后的调整。2,最好使用虚拟化python环境,因为不同的项目,使用python包不一致,导致后期难以维护,以及使用自动化集成时,包引用出现问题,不利于排查3、加入元素等待,因为环境等的差异,如果只是简单使用time.sleep(),部分元素在本地环境可能没有,在其他环境进行测试时,会出现各种元素不可定位(可以重新封装元素定位方法,在该方法内直接进行等待,后续直接调用时,等待每个元素可见,在执行步骤)4、firefox和chrome对前端界面的解释,不同..原创 2021-09-08 17:50:27 · 203 阅读 · 0 评论 -
selenium自动化过程中遇到web系统有多个版本,每个版本有细微差别时,
web自动化过程中,经常会用到,每个版本有细微的差别,例如,A版本有该文本框,B版本没有该文本框,导致用例失败,可以使用判定对应文本框和页面,是否存在(即返回True或者Flase)来进行区分。如图,调用该函数,当//input[@id='userForm.pin']存在时,返回True,填写该文本框。当为Flase时,不进行操作即可from selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webd原创 2021-09-07 21:04:37 · 93 阅读 · 0 评论 -
cannot import name ‘PyKeyboard‘ from ‘pykeyboard‘ (D:\python\Scripts\uizdh\lib\site-packages\pykeybo
python的windows虚拟环境的使用https://blog.csdn.net/qq_39241986/article/details/106654549 from pykeyboard import PyKeyboardImportError: cannot import name 'PyKeyboard' from 'pykeyboard' (D:\python\Scripts\uizdh\lib\site-packages\pykeyboard\__init__.py)报错,查看原创 2021-09-07 16:45:05 · 947 阅读 · 0 评论 -
python模拟键盘输入
http://www.python66.com/seleniumjiaocheng/246.html转载 2021-09-07 16:38:02 · 85 阅读 · 0 评论 -
selenium元素定位因为已有数据造成定位变化时的解决方法
当有多组元素,并且可能因为系统有残留数据,造成定位的改变。(一般为部门、资产等的新建,元素定位,在有数据和没有数据时,发生改变。)背景:当没有部门时,/td[@colspan='3']/table/tbody/tr/td[4]/span可以查找出两个元素,第二个为查找元素,当已存在一个部门时,该元素定位发生变化,可以查找到四个该元素,解决思路:获取存在该元素的列表长度,当大于3时,即代表至少存在一个部门。使用以下定位self.driver.find_elements_by_xpath(.原创 2021-09-07 15:37:03 · 539 阅读 · 0 评论 -
pip 安装时提示readtimeout
https://blog.csdn.net/XXT2018/article/details/104589752/转载 2021-09-06 14:24:18 · 81 阅读 · 0 评论 -
jenkins执行python自动化测试用例
1、搭建完成jenkins后,创建项目,项目配置好svn地址,和邮箱地址。具体参考具体参考2、在编辑代码的机器中,使用cmd命令创建requirements,该文件将代码所需要的依赖库和版本导出到该文件,后续在jenkins中使用python虚拟环境进行安装。此方法的好处,避免每次都要手动使用pip install进行安装,同时每个项目运行环境,不一致,可能导致构建失败。具体步骤参考3、安装virtualenv,用来构建虚拟环境pip install virtualenv3、在构原创 2022-02-10 12:34:32 · 2066 阅读 · 0 评论 -
python使用pipreqs获取依赖包文件requirements报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte
1、安装pip install pipreqs2、进入项目目录,3、直接使用pipreqs ./会报错,4.使用即可pipreqs ./ --encoding=utf8 --force5、目录下会有依赖包的列表原创 2021-08-10 17:09:33 · 571 阅读 · 0 评论