- 博客(22)
- 收藏
- 关注
原创 Python--字典操作
字典是键值对形式的无序可变序列,因此没有第一个元素和最后一个元素的概念。每一个元素都是键值对的形式:键可以是任意不可变数据,且不可重复值是任意可变数据,可以重复创建字典 1. 使用 { } 创建字典,a = {"name":"sunsun", "age":18} 2. 使用dict()函数a = dict(name='sunsun', age=18) 3. 通过zip()方法k = ['n...
2021-11-06 18:55:50
329
原创 python---列表操作
a = [10,20,30,40]创建列表 1.list()方法,参数必须是一个可迭代的对象a = list("123")print(a) 2. 使用[ ] 创建,常结合推导式等使用a = [10,20,30]#结合推导式a = [i*2 for i in range(10)]添加列表元素 在中间操作元素涉及到列表元素的移动,数据量大的时候非常影响效率,所以尽量在列表末尾操作元素 1. append...
2021-11-03 22:16:10
281
原创 拼接字符串join()和+
+和join()方法,都可以拼接字符串。数据量较大时,从性能角度来说,使用join()方法更优。每次使用+拼接字符串,会生成一个新的字符串对象。join()在拼接字符串之前会先计算所有字符串的长度,然后进行拷贝,仅新建一次对象。import timetime1 = time.time()str_list = []for i in range(1000000): str_list.append('abc')str1 = ''.join(str_list)time2 = time
2021-10-31 16:58:42
1298
原创 整数缓存问题
python会对整数进行缓存在python命令行中,整数缓存范围是[-5, 256] 在pycharm中,整数缓存范围是[-5, 任意正整数]。因为解释器进行了一部分优化所以,在pycharm中,不同的范围里指向相同整数值的地址是相同的。...
2021-10-30 17:30:58
187
原创 比较运算符 is与==的使用
is:比较的是两个对象的地址,即指向两个对象的变量所存储的地址是否相同==:通过调用_ _eq_ _()方法,比较的是两个变量所指向的值是否相等因为==还要调用方法比较,所以效率比 is 低所以,在比较 变量 与 None 时,建议使用 is...
2021-10-30 17:15:26
228
原创 python-pytest命名规则
1. 文件名以“test_”开头或者以“_test”结尾2. 测试类必须以“Test”开头,且不能有init方法3. 测试方法必须以test开头
2021-10-24 13:19:54
856
1
原创 YAML文件
yaml是一种数据格式,支持注释、换行、多行字符串、裸字符串(如整形,纯字符串等)语法规则: 1. 区分大小写 2. 使用缩进表示层级,不能使用tab键缩进,只能用空格缩进。 3. 缩进时空格数量无限制,只要同级对齐即可 4. 注释使用“#”文件数据组成: 1. map对象,键值对形式, 值前必须加空格,格式:键:(空格)值 内容可写到一行,也可写多行conf: name:...
2021-08-10 18:02:00
282
原创 pipreqs 获取当前项目中依赖的组件及其版本
1. 安装pipreqs 在终端输入pip install pipreqs2. 打开pycharm,进入到对应的项目3.在pycharm终端输入pipreqs ./项目根目录就会生成requirements.txt文件,文件内是当前项目依赖的组件及其版本4.如果想要重新获取requirements.txt文件,强制覆盖原文件,在pycharm终端输入 pipreqs ./ --force...
2021-07-27 18:25:57
429
原创 正则、bs4、xpath、jsonpath匹配规则
转载https://www.cnblogs.com/airapple/p/9132374.html正则匹配: 规则 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字、字母、下划线、中文 \W : 非\w \s :所有的空白字符...
2021-06-25 15:02:59
773
原创 Navicat连接mysql8.0.19版本,报2059 - Authentication plugin 'caching_sha2_password' cannot be loaded...
安装MySQL服务后,启动Navicat创建链接报2059 - Authentication plugin 'caching_sha2_password' cannot be loaded报错原因 mysql8.0以后版本更换了身份验证为caching_sha2_password,8.0之前的身份验证是mysql_native_password,Navicat客户端不支...
2020-04-27 13:40:17
207
原创 Mac安装Mysql教程
MySQL安装1.官网下载地址:https://dev.mysql.com/downloads/mysql/ 确认操作系统,点击Download(当前下载的是最新版本,如果想要下载之前版本,点击操作系统选择框右侧的按钮)2.进入当前页面,不用注册登录,直接点击No thanks, just start my download.下载即可3.下载成功后,双击安装包(d...
2020-04-27 13:17:15
472
1
翻译 python3+appium HtmlTestRunner生成报告,环境配置
HtmlTestRunner简介HtmlTestRunner是将单元测试的结果保存为html格式的测试报告的工具,这个工具的功能和HTMLTestRunner很像,而且名称也很像。但是它支持python3,而且生成的报告的样式更加美观。安装HtmlTestRunner访问下面链接,下载html_testRunner-1.2-py2.py3-none-any.whl文件网盘链接:ht...
2019-07-26 21:26:41
253
原创 TypeError: testlogin() takes 1 positional argument but 2 were given
TypeError: testlogin() takes 1 positional argument but 2 were given错误意思是 testlogin()方法只需要一个参数,但是实际给了两个参数。下面的代码块是调用 login.py 文件下 Login类 下的 test_login( ) 方法 def test_case(self): #执行的测试用例...
2019-07-24 18:41:28
4576
1
原创 Appium连接真机,启动参数配置
Appium部分启动参数介绍默认会以127.0.0.1IP和4723端口启动一个session。如果要启动多个session,可以通过修改端口号(目前未使用的)的方式automationName :设置驱动方式,不填写默认是uiautomation。appium1.6以前的版本是基于uiautomation(该方式不支持iOS10),1.6以后的版本是基于facebook的XCUITe...
2019-07-23 20:51:39
3268
原创 安装libimobiledevice失败,Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10
执行以下命令brew install --HEAD libimobiledevice返回一堆吧啦吧啦的东西,总之就是没安装成功,其中有几行信息是这样的configure: error: Package requirements (libusbmuxd >= 1.1.0) were not met:Requested 'libusbmuxd >= 1.1.0' but...
2019-07-17 17:36:25
1373
原创 Mac python安装pip
Mac自带python2.7,但是我们有的时候会自己安装其他版本的python。可以通过以下方式,给指定版本python安装pip。例如给python3安装:curl https://bootstrap.pypa.io/get-pip.py | python3安装完后,查看版本pip --version如果--version查不到版本信息,找到pip安装的位置,查看pi...
2019-04-22 16:34:13
1556
原创 Python unittest单元测试,不执行if __name__ == '__main__'
代码没问题,运行也不报错,但是就没有达到预期结果。测试代码如下:# -*- coding:utf-8 -*-import unittestimport timefrom selenium import webdriverclass UnitTestBaidu(unittest.TestCase): def setUp(self): self.drive...
2018-12-26 23:18:58
1767
原创 python unittest调用TestCase报错,unittest无法调用TestCase
在学习Python的单元测试框架unittest时,创建类需要继承unittest.TestCase,但继承时始终无法调用TestCase。原因是我的文件名命名为unittest,因为unittest是Python内置的模块,导入unittest时会优先查找我定义的unittest,所以无法调用TestCase。解决办法是把我的文件重命名。...
2018-12-24 22:14:54
4163
1
原创 TypeError: unbound method maximize_window() must be called with WebDriver instance as first argument
在学习Python+selenium时,出现TypeError: unbound method maximize_window() must be called with WebDriver instance as first argument (got nothing instead)错误,大概意思就是WebDriver没有被实例化,不能调用maximize_window()方法。报错原因是...
2018-12-21 11:41:42
741
原创 Selenium定位元素之x-path方法
属性值中标签含义 // 双斜杠 定位根节点,会对全文进行扫描,在文档中选取所有符合条件的内容,以列表的形式返回 / 单斜杠 寻找当前标签路径的下一层路径标签或者对当前路标签内容进行操作 /text() 获取当前路径下的文本内容 /@xxxx 提取当前路径下标签的属性值 | 可选符 使用|可选取若干个路径 。如//p | //div 即在当前路径下...
2018-12-09 12:49:12
3099
转载 接口测试用例设计
接口测试用例设计点主要包括:功能、逻辑业务、异常、安全功能: 1.功能是否正常; 2.功能是否按照接口设计文档实现; 举例:有些添加到购物车,需要登录才能添加。也就是业务要求不支持游客添加购物车功能,如果设计一个没有登录的用户,然后去测试添加购物车接口,结果接口能添加到购物车,说明功能不正常,不符合需求和接口文档描述 逻辑业务:是否依赖业务 ...
2018-12-07 17:24:52
320
原创 Selenium+python,切换frame,定位元素出现NoSuchElementException异常
加了等待时间,没有层级frame,没有新打开标签,情况单一,代码简单,还是定位不到元素!这个时候你就要考虑定位的元素的属性是动态的了! (初学selenium,有些解释不明确的地方,多包涵~) 动态属性,就是每次打开页面,元素的id、class等属性是不一样的(动态生成)。执行代码定位元素时,重新打开页面,属性值变化,而你定位元素使用的是上一次访问页面生成的属性值,这样自然是定...
2018-12-07 17:18:22
845
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人