...

摘要: [TOC] "返回: Pytest权威教程" 优质集成实践 使用pip安装包 对于开发,我们建议你将[venv来安装应用程序和任何依赖项,以及 包本身。这可确保你的代码和依赖项与系统Python安装隔离。 接下来, 使用以下最低内容将文件放在包的根目录中: 包裹的名称在哪里。然后,你可以通过从同一目 阅读全文
posted @ 2019-10-15 14:26 韩志超 阅读(1875) 评论(0) 推荐(0)
摘要: [toc] "返回: Pytest权威教程" 函数(Functions) pytest.approx 断言两个数字(或两组数字)在某个容差范围内彼此相等。 由于浮点运算的复杂性,我们直觉期望相等的数字并不总是如此: 编写测试时通常会遇到此问题,例如,确保浮点值是您期望的值。处理此问题的一种方法是断言 阅读全文
posted @ 2019-10-15 14:19 韩志超 阅读(2829) 评论(0) 推荐(0)
摘要: [TOC] "返回: Pytest权威教程" 记录日志 Pytest默认捕获WARNING以上日志消息,在每个失败的测试结果概要中,捕获的log信息和stdout、stderr信息使用相同的方式,分块显示。 不带选项运行: 失败的用例显示格式如下: 默认情况下,捕获到的每条日志消息都会显示模块,行号 阅读全文
posted @ 2019-10-15 14:14 韩志超 阅读(3058) 评论(0) 推荐(0)
摘要: Mac OS+Android真机 8.0在使用uiautomatorviewer获取界面时报Error obtaining UI hierarchy Reason: Error while obtaining UI hierarchy XML file: com.android.ddmlib.Syn 阅读全文
posted @ 2019-09-27 13:51 韩志超 阅读(2621) 评论(0) 推荐(0)
摘要: [TOC] greenlet示例 greenlet微线程,允许在线程中手动切换 示例1,线程切换 gr1和gr2是两个greenlet线程,使用gr1.switch(..)启动gr1,gr1执行test1,切换到gr2,gr2执行test2打印helloworld,然后切换回gr1,z获取到返回值4 阅读全文
posted @ 2019-09-25 19:39 韩志超 阅读(1108) 评论(0) 推荐(0)
摘要: 前言 requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快。但是requests发送请求是串行的,即阻塞的。发送完一条请求才能发送另一条请求。 为了提升测试效率,一般我们需要并行发送请求。这里可以使用多线程,或者协程,gevent或者aiohttp,然而使用起 阅读全文
posted @ 2019-09-25 11:23 韩志超 阅读(31979) 评论(2) 推荐(1)
摘要: [toc] Appium在操作混合App或Android App的H5页面时, 常常需要定位H5页面中的元素, 传统方式是 FQ + 使用Chrome://inspect来定位元素, 环境准备相当繁琐, 不仅需要想办法FQ, 而且还需要Android设备安装Google框架以及手机版Chrome浏览 阅读全文
posted @ 2019-09-17 21:08 韩志超 阅读(1749) 评论(0) 推荐(0)
摘要: Linux常用命令 目录相关命令 切换目录cd命令 cd ..: 返回上级目录 cd -: 返回上次目录 创建目录mkdir命令 mkdir:创建目录 复制cp命令 cp: 复制文件 cp -r 复制文件及目录 删除rm命令 rm: 删除文件 rm -r 删除文件及目录 rm -rf 强制删除文件及 阅读全文
posted @ 2019-09-16 12:43 韩志超 阅读(495) 评论(0) 推荐(0)
摘要: Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入。xlwt只支持写入.xls格式的文件,不支持读取。 openpyxl不支持.xls格式,但是支持.xlsx格式的读取写入,并且支持写入 阅读全文
posted @ 2019-09-10 23:58 韩志超 阅读(4898) 评论(0) 推荐(0)
摘要: ## 数据及配置文件之争 数据及文件通常有三种类型: 1. 配置文件型:如ini,conf,properties文件,适合存储简单变量和配置项,最多支持两层,不适合存储多层嵌套数据 2. 表格矩阵型:如csv,excel等,适合于存储大量同类数据,不适合存储层级结构的数据 3. 多层嵌套型:如XML 阅读全文
posted @ 2019-09-10 23:17 韩志超 阅读(15790) 评论(0) 推荐(2)
摘要: JSON简介 JSON(JavaScript Object Notation)即JavaScript对象表示法,一种轻量级,通用的 文本 数据格式。 JSON语法支持对象(Object),数组(Array),字符串,数字(int/float)以及true/false和null。 JSON拥有严格的格 阅读全文
posted @ 2019-09-10 20:51 韩志超 阅读(16057) 评论(1) 推荐(0)
摘要: CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型)。 如果CSV中有中文,应以utf-8编码读写,如果要支持Excel查看,应是要用utf-8 with bom格式及utf-8-sig ## Py 阅读全文
posted @ 2019-09-10 10:23 韩志超 阅读(22286) 评论(1) 推荐(2)
摘要: 服务器:Centos7 Python版本:Python 3.7.0 Celery版本:4.2.1 Python3.5以上,OrderDict不允许在迭代过程中进行修改,导致LRUCache.update失败,可能引起的此问题。 解决方法,安装dev版的celery 参考链接: "https://gi 阅读全文
posted @ 2019-09-09 18:52 韩志超 阅读(1519) 评论(0) 推荐(0)
摘要: 国产的360安全浏览器,360急速浏览器,QQ浏览器,遨游浏览器甚至新版还未上市的Edge浏览器都是基于Chrome浏览器的开源版本Chronium开发来的。所以360浏览器可以理解为一个定制的Chrome浏览器,最新360安全浏览器是基于Chromium 63版本的,落后正式的Chrome版本。 阅读全文
posted @ 2019-09-08 23:24 韩志超 阅读(6524) 评论(0) 推荐(0)
摘要: 在学会了抓包,接口请求(如requests库)和Selenium的一些操作方法后,基本上就可以编写爬虫,爬取绝大多数网站的内容。 在爬虫领域,Selenium永远是最后一道防线。从本质上来说,访问网页实际上就是一个接口请求。请求url后,返回的是网页的源代码。 我们只需要解析html或者通过正则匹配 阅读全文
posted @ 2019-09-07 20:44 韩志超 阅读(1226) 评论(0) 推荐(1)
摘要: 在Web自动化中,常常遇到三种弹框: 1. JavaScript警告框,如alert,confirm,prompt等,如下图: 处理方法为driver.switch_to.alert().dismiss()或river.switch_to.alert().accept() Alert弹框 Confi 阅读全文
posted @ 2019-09-07 19:24 韩志超 阅读(2254) 评论(0) 推荐(1)
摘要: 在调试Selenium脚本中,有时因为操作太快或操作不明显而不清楚是否定位到了正确的元素。我们可用通过执行js为定位到的元素添加样式,来高亮显示定位到的元素。 在Selenim Webdriver中,可以通过driver.exectue_scirpt() 执行JavaScript代码,执行的Java 阅读全文
posted @ 2019-09-07 18:54 韩志超 阅读(2150) 评论(0) 推荐(0)
摘要: Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你。 Selenium做不到。 你可以手工使用开发者工具Ctrl+Shift+P调出命令行菜单,执行Capture full screenshot命令进行截图,如下图图 阅读全文
posted @ 2019-09-07 18:19 韩志超 阅读(5848) 评论(2) 推荐(0)
摘要: Chrome自带的开发者工具DevTools功能非常强大。有时候我们在使用Selenium操作浏览器时需要通过调用一下DevTools的方法来完成一些设置,如模拟移动设备,弱网模拟等等。 Selenium的WebDriver类中有一个 方法可以用来执行Chrome开发这个工具命令。 cdp即Chro 阅读全文
posted @ 2019-09-07 17:19 韩志超 阅读(16806) 评论(4) 推荐(0)
摘要: 在使用selenium测试后台时常常每个流程都需要走登录流程,这样自然比较浪费时间。如果遇到登录需要输入验证码等情况,就可能出师未捷身先死。 在Web应用中,登录状态通常是通过Cookie中对应的session id验证的。也是就是说,我们只要携带上登录后的Cookies,浏览器就会自动识别我们为登 阅读全文
posted @ 2019-09-07 17:02 韩志超 阅读(10078) 评论(0) 推荐(0)