...

摘要: [toc] Appium在操作混合App或Android App的H5页面时, 常常需要定位H5页面中的元素, 传统方式是 FQ + 使用Chrome://inspect来定位元素, 环境准备相当繁琐, 不仅需要想办法FQ, 而且还需要Android设备安装Google框架以及手机版Chrome浏览 阅读全文
posted @ 2019-09-17 21:08 韩志超 阅读(1631) 评论(0) 推荐(0) 编辑
摘要: Linux常用命令 目录相关命令 切换目录cd命令 cd ..: 返回上级目录 cd -: 返回上次目录 创建目录mkdir命令 mkdir:创建目录 复制cp命令 cp: 复制文件 cp -r 复制文件及目录 删除rm命令 rm: 删除文件 rm -r 删除文件及目录 rm -rf 强制删除文件及 阅读全文
posted @ 2019-09-16 12:43 韩志超 阅读(476) 评论(0) 推荐(0) 编辑
摘要: Python中常用的操作Excel的三方包有xlrd,xlwt和openpyxl等,xlrd支持读取.xls和.xlsx格式的Excel文件,只支持读取,不支持写入。xlwt只支持写入.xls格式的文件,不支持读取。 openpyxl不支持.xls格式,但是支持.xlsx格式的读取写入,并且支持写入 阅读全文
posted @ 2019-09-10 23:58 韩志超 阅读(4806) 评论(0) 推荐(0) 编辑
摘要: ## 数据及配置文件之争 数据及文件通常有三种类型: 1. 配置文件型:如ini,conf,properties文件,适合存储简单变量和配置项,最多支持两层,不适合存储多层嵌套数据 2. 表格矩阵型:如csv,excel等,适合于存储大量同类数据,不适合存储层级结构的数据 3. 多层嵌套型:如XML 阅读全文
posted @ 2019-09-10 23:17 韩志超 阅读(15352) 评论(0) 推荐(2) 编辑
摘要: JSON简介 JSON(JavaScript Object Notation)即JavaScript对象表示法,一种轻量级,通用的 文本 数据格式。 JSON语法支持对象(Object),数组(Array),字符串,数字(int/float)以及true/false和null。 JSON拥有严格的格 阅读全文
posted @ 2019-09-10 20:51 韩志超 阅读(15590) 评论(1) 推荐(0) 编辑
摘要: CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型)。 如果CSV中有中文,应以utf-8编码读写,如果要支持Excel查看,应是要用utf-8 with bom格式及utf-8-sig ## Py 阅读全文
posted @ 2019-09-10 10:23 韩志超 阅读(21350) 评论(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 韩志超 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 国产的360安全浏览器,360急速浏览器,QQ浏览器,遨游浏览器甚至新版还未上市的Edge浏览器都是基于Chrome浏览器的开源版本Chronium开发来的。所以360浏览器可以理解为一个定制的Chrome浏览器,最新360安全浏览器是基于Chromium 63版本的,落后正式的Chrome版本。 阅读全文
posted @ 2019-09-08 23:24 韩志超 阅读(6289) 评论(0) 推荐(0) 编辑
摘要: 在学会了抓包,接口请求(如requests库)和Selenium的一些操作方法后,基本上就可以编写爬虫,爬取绝大多数网站的内容。 在爬虫领域,Selenium永远是最后一道防线。从本质上来说,访问网页实际上就是一个接口请求。请求url后,返回的是网页的源代码。 我们只需要解析html或者通过正则匹配 阅读全文
posted @ 2019-09-07 20:44 韩志超 阅读(1151) 评论(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 韩志超 阅读(2148) 评论(0) 推荐(1) 编辑
摘要: 在调试Selenium脚本中,有时因为操作太快或操作不明显而不清楚是否定位到了正确的元素。我们可用通过执行js为定位到的元素添加样式,来高亮显示定位到的元素。 在Selenim Webdriver中,可以通过driver.exectue_scirpt() 执行JavaScript代码,执行的Java 阅读全文
posted @ 2019-09-07 18:54 韩志超 阅读(2056) 评论(0) 推荐(0) 编辑
摘要: Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你。 Selenium做不到。 你可以手工使用开发者工具Ctrl+Shift+P调出命令行菜单,执行Capture full screenshot命令进行截图,如下图图 阅读全文
posted @ 2019-09-07 18:19 韩志超 阅读(5642) 评论(2) 推荐(0) 编辑
摘要: Chrome自带的开发者工具DevTools功能非常强大。有时候我们在使用Selenium操作浏览器时需要通过调用一下DevTools的方法来完成一些设置,如模拟移动设备,弱网模拟等等。 Selenium的WebDriver类中有一个 方法可以用来执行Chrome开发这个工具命令。 cdp即Chro 阅读全文
posted @ 2019-09-07 17:19 韩志超 阅读(15739) 评论(4) 推荐(0) 编辑
摘要: 在使用selenium测试后台时常常每个流程都需要走登录流程,这样自然比较浪费时间。如果遇到登录需要输入验证码等情况,就可能出师未捷身先死。 在Web应用中,登录状态通常是通过Cookie中对应的session id验证的。也是就是说,我们只要携带上登录后的Cookies,浏览器就会自动识别我们为登 阅读全文
posted @ 2019-09-07 17:02 韩志超 阅读(9601) 评论(0) 推荐(0) 编辑
摘要: 返回: Pytest权威教程 编写钩子函数(Hooks) 钩子函数验证和执行 Pytest会调用任意给定规格并注册了的插件的钩子方法。让我们看一下一个函数的典型钩子函数 pytest_collection_modifyitems(session,config,items),Pytest在收集完所有测 阅读全文
posted @ 2019-09-06 20:16 韩志超 阅读(9003) 评论(6) 推荐(0) 编辑
摘要: 目录插件编写Pytest启动时的插件发现顺序conftest.py:本地目录插件编写自己的插件使你的插件可以被他人安装断言重写在测试模块或conftest文件中要求/加载插件按名称访问另一个插件注册为通用标记测试插件 返回: Pytest权威教程 插件编写 很容易为你自己的项目实现[本地confte 阅读全文
posted @ 2019-09-06 20:15 韩志超 阅读(2342) 评论(3) 推荐(0) 编辑
摘要: [TOC] "返回: Pytest权威教程" 安装和使用插件 本节讨论如何安装和使用第三方插件。有关编写自己的插件的信息,请参阅编写插件。 安装第三方插件可以通过以下方式轻松完成 : 如果安装了插件,则 自动查找并集成它,无需激活它。 这是一些常用插件列表: pytest django:为djang 阅读全文
posted @ 2019-09-06 20:09 韩志超 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: [TOC] "返回: Pytest权威教程" 经典xUnit风格的setup/teardown 本节介绍了如何在每个模块/类/函数的基础上实现Fixture(setup和teardown测试状态)的经典而流行的方法。 注意 虽然这些setup/teardown方法对于来自a 或nose的人来说简单且 阅读全文
posted @ 2019-09-06 20:06 韩志超 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: [TOC] "返回: Pytest权威教程" 运行Nose用例 基本支持运行Nose框架格式的测试用例。 使用方法 后安装pytest类型: 你应该能够运行你的nose样式测试并利用pytest的函数。 支持的nose风格 在模块/类/方法级别进行设置和拆卸 SkipTest异常和标记 设置/拆卸装 阅读全文
posted @ 2019-09-06 20:04 韩志超 阅读(931) 评论(0) 推荐(0) 编辑
摘要: [TOC] "返回: Pytest权威教程" 缓存:使用跨执行状态 版本2.8中的新函数。 使用方法 该插件提供了两个命令行选项,用于重新运行上次 调用的失败: ,` last failed` 只重新运行故障。 ,` failed first` 先运行故障然后再运行其余的测试。 对于清理(通常不需要 阅读全文
posted @ 2019-09-06 19:10 韩志超 阅读(1521) 评论(1) 推荐(0) 编辑