03 2020 档案
摘要:unittest 3.2版中更新了signal信号量的功能,用于在遇到Ctrl+C键盘中断时优雅的结束。 当用户按下Ctrl+C时,会立即或等当前用例执行完后再停止运行,并输出结果,如果用户再次按下Ctrl+C,则会立即抛出KeyboardInterrupt异常并停止。 启用singal功能的方法有
阅读全文
摘要:Selenium是一个支持多平台+多浏览器+多版本的浏览器自动化测试框。 Selenium在启动浏览器时可以通过desired_capbilities参数来指定需要启动的平台、浏览器、版本及浏览器启动参数。 ChromeOptions是chromedriver支持的浏览器启动选项。 options常
阅读全文
摘要:在Selenium中可以使用drvier.execute_script()来执行Javascript脚本,支持多行语句。 使用Javascript可以实现以下功能: 移除元素隐藏、禁用、只读等限制属性 为元素添加id或高亮样式 页面滚动 富文本框输入(HTML注入) 获取页面信息 使用Javascr
阅读全文
摘要:Selenium是一款浏览器自动化测试框架,基于Webdriver协议。 从本质上来说: webdriver是一套接口标准,使用标准的HTTP RESTful接口,使用JSON格式传递数据。 chromedriver是实现该标准的Chrome浏览器的一套驱动服务。 Selenium实际上是对各种接口
阅读全文
摘要:MHTML即MIME HTML,归档网页,将样式和脚本全部集成到一个文件中。 Chrome Devtools Protcal API中包含了Page.captureSnapshot方法,可以获取到网页的mhtml格式内容。 我们使用Selenium的driver.execute_cdp_cmd()执
阅读全文
摘要:Selenium在启动浏览器时实际进行里两步操作, 1. 通过子进程,使用chromedriver启动一套Webdriver服务 2. 使用webdriver.Remote()方法连接该服务并发送指令启动浏览器。 在某些情况下如果,你需要分离式启动服务和连接服务的过程,可以使用以下步骤,参考代码如下
阅读全文
摘要:对于复杂的JSON结构,虽然可以使用JSONPath快速提取相应的值。然而对于JSON响应的整体结构和各字段类型,使用JSONSchema验证更加方便。 安装方法: pip install jsonschema 基本使用 以上例中的响应结果为例: { "args": { "age": "12", "
阅读全文
摘要:前言 之前写过一个简单的httprunner的实现: "30行左右代码实现一个类似httprunner的接口框架" 使用Python的string.Template()来替换$变量,使用Python表达式来处理变量提取和响应断言。功能上只实现了核心的接口的顺序请求及变量的提取和断言。 这里对其功能进
阅读全文
摘要:前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力。因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点。 基本编码能力及思维逻辑 基本数据结构(顺序表、链表、队列、栈、二叉树) 基本算法(排序、查找、递归)及时间复杂度 除基本算法之外,笔试面试中经常会考察以下三种思想: 哈
阅读全文