暂无个人介绍
常用操作
通常使用定位器定位页面上的元素会发生一些定位不到元素,或者定位失败的情况。有可能是页面上元素不唯一,有可能是页面发生变化。这节介绍定位元素的高级用法,使用层级关系定位或者多重属性定位的方式来确定元素的唯一性,从而更精准,更稳定的定位到想要的元素。
在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点。在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传统的方式打包部署,会浪费大量时间精力。
软件测试最常用的 SQL 命令 | 掌握基本查询、条件查询、聚合查询
你平常会使用哪些测试设计方法? 这个问题该如何回答呢?
本文节选自霍格沃兹测试开发学社内部教材 元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作。那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式。
说在前面,这是个不进步就滚蛋的行业! 问软件测试有哪些前景,准确的说,应该是软件测试工程师的职业规划是什么样的。这边已经内推200+的测试开发进入大厂,经常和他们交流,关于一些职业规划上的意见建议,我从下面几个方面梳理一下,供您参考。(原来大佬都在评论区....)
adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。
在移动互联网和大数据时代,互联网企业通常具备“产品功能丰富、用户基数大、业务逻辑复杂、更新迭代频繁、海量数据不容差错、实时性要求高”等显著特点。而随着企业规模扩张,用户对数据和业务稳定性的要求也会越来越高,所谓质量第一。
为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题。 使用 UI 自动化测试工具时(包括 selenium,appium 等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而 PageObject 让自动化脚本井然有序,将 page 单独维护并封装细节,可以使 testcase 更稳健,不需要太多改动。
在有些场景中,需要上传文件,而 Selenium 无法定位到弹出的文件框,以及网页弹出的提醒。这些都是需要特殊的方式来处理。
JavaScript 是一种脚本语言,有的场景需要使用 js 脚本注入辅助我们完成 Selenium 无法做到的事情。 当 webdriver 遇到无法完成的操作时,可以使用 JavaScript 来完成,webdriver 提供了 execute_script() 方法来调用 js 代码。
在做 Web 自动化时,最根本的就是操作页面上的元素,首先要能找到这些元素,然后才能操作这些元素。工具或代码无法像测试人员一样用肉眼来分辨页面上的元素。那么要如何定位到这些元素,本章会介绍各种定位元素的方法。
![](https://ceshiren.com/uploads/default/original/3X/c/e/ce1201b76ded3995725c0a3003e0ecb680714872.jpeg) 本文为面试某公司测试开发/自动化测试工程师时的面试题笔记。 全部笔试内容没有全部写全,只贴通用性的技术相关的笔试面试题,至于测试理论和团队管理的问题,都是大同小异,也没什么实际的参考价值。
- INNER JOIN:如果表中有至少一个匹配,则返回行 - LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行 - RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行 - FULL JOIN:只要其中一个表中存在匹配,则返回行 - INNER JOIN-取出一个员工的员工号、生日、部门名字 - LEFT JOIN-取出一个员工的员工号、生日、部门名字,员工号和生日为必展
![](https://ceshiren.com/uploads/default/original/3X/1/1/1180d8ee878701ec03823fc7852386c8d89f7cda.jpeg) 缩写全称和对应 SQL: 现在有这样一个公司部门人员各个信息的数据库,包含了如下几个表: departments 部门表字段: dept_emp 雇员部门表字段: dept_man
![](https://ceshiren.com/uploads/default/original/3X/3/a/3a86a19fb6dbb3f346088c7323fa31227d08207b.png) ## Python-Jenkins Python-Jenkins 通过 HTTP 方式运行 Jenkins job 。 Python-Jenkins 官网:https://pypi.py
![](https://ceshiren.com/uploads/default/original/3X/9/f/9f1091a2de1d0f0bf718036424b512c9677b9a1c.jpeg) ## Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个android应用中,一个Activity通常就是一个单独的屏幕,Activity上可显示控
- 页面渲染:客户端渲染页面(SPA)、服务端渲染页面(模板技术) - 数据库连接技术:数据库连接池、数据访问 - 服务管理:接口、路由、权限 - 异步任务调度:异步、同步、回调 - Python:Flask - Java:Spark Java - Python:Django - Java:Spring 全家桶 ## Flask Flask 是一个使用 Python 编写的轻量级 Web
本篇文章将介绍如何使用开源的测试报告生成框架 Allure 生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍,你将能够: - 将 Allure 与 Pytest 测试框架相结合; - 如何定制化测试报告内容 - 执行测试之后,生成 Allure 格式的测试报告。 Allure 是一款非常轻量级并且非常灵活的开源测试报告生成框架。它支持绝大多数测试框架, 例如 TestNG、Pytest、
![](https://ceshiren.com/uploads/default/original/3X/5/7/577bcc2d8a6d08b63c42c9cf7d62a83d7dec13ea.gif) ![](https://ceshiren.com/uploads/default/original/3X/c/3/c3193661cc0c2d46655f391bf7db03c55ca6ee6
本系列文章总结归纳了一些软件测试工程师常见的面试题,主要来源于个人面试遇到的、网络搜集(完善)、工作日常讨论等,分为以下几个部分,供大家参考。如有错误的地方,欢迎指正。有更多的面试题或面试中遇到的坑,也欢迎补充分享。希望大家都能找到满意的工作,共勉之!~ 1.测试常见问题与流程篇 2.测试工具篇 3.计算机网络知识与数据库篇 4.Linux 与 Python 编程技能篇 5.自动化测试与性能测
![](https://ceshiren.com/uploads/default/original/3X/3/a/3af5a0656a764bce1b2ad6ebd3096351e992182f.jpeg) 本系列文章总结归纳了一些软件测试工程师常见的面试题,主要来源于个人面试遇到的、网络搜集(完善)、工作日常讨论等,分为以下十个部分,供大家参考。如有错误的地方,欢迎指正。有更多的面试题或面试中
1.测试常见问题与流程篇 2.测试工具篇 3.计算机网络知识篇 4.数据库篇 5.Linux 篇 6.Python 编程篇 7.自动化测试篇:包含 Selenium、Appium 和接口测试 8.性能测试篇 9.软素质篇:10 大灵魂拷问 10.反问面试官篇 11.介绍一下测试中常用的工具(必备基础,必须掌握!) - 需求问题跟进、测试计划、风险评估登记、测试报告、复盘会议:wiki - 测试
1.测试常见问题与流程篇 2.测试工具篇 3.计算机网络知识与数据库篇 4.Linux 篇 5.Python 编程篇 6.自动化测试篇:包含 Selenium、Appium 和接口测试 7.性能测试篇 8.软素质篇:10 大灵魂拷问 9.反问面试官篇 10.擅长哪些开发语言? - 学习过 Java,C 等 - 半精通 Python 11.输入 URL 到网页显示出来的全过程 12.输入网址 1
![](https://ceshiren.com/uploads/default/original/3X/5/2/524b1c71f55a89ee9afe9e9ad712400cea13dba2.jpeg) 1.测试常见问题与流程篇 2.测试工具篇 3.计算机网络知识篇 4.数据库篇 5.Linux 篇 6.Python 编程篇 7.自动化测试篇:包含 Selenium、Appium 和接口测试
- 当多个窗口同时 attach 到同一个容器时,所有的窗口都会同步的显示,假如其中的一个窗口发生阻塞时,其它的窗口也会阻塞。 - attach 必须是登陆到一个已经运行的容器里,如果从这个容器中 exit 退出的话,会导致容器停止。 - 容器里进程新建的文件,怎么才能让宿主机获取到? - 宿主机上的文件和目录,怎么才能让容器里的进程访问到? - CONTAINER ID:容器 ID,唯一标识容
在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点。在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传统的方式打包部署,会浪费大量时间精力。 在 Docker 出现后,它以更高效的利用系统资源、更高效的利用系统资源、一致的运行环境、持续交付和部署、更轻松的迁移、更轻松的维护和拓展,6 大优点迅速火了起来。 Docker 的基础命令,堪称 Docker 的内功,
计算机网络知识对测试人员来说是非常重要的基础技能。无论是在平时测试工作中(比如接口测试),还是测试技术面试时,都会经常涉猎。很多基础薄弱的同学靠临时抱佛脚突击搜索学习,对系统知识和重点难点的理解总是不够透彻。 本系列文章就带大家从最最基础的网络知识开始,一步一个台阶学习,最终深度理解和掌握计算机网络核心知识点、相关面试题以及在测试工作中的应用。 网络、互联网、因特网,经常听到的这三个名词,他们的
计算机网络知识是自动化测试等技术基础,也是测试面试必考题目。霍格沃兹测试学院特别策划了本系列文章,将带大家一步步夯实计算机网络的基础知识。 由于物理层知识在互联网软件研发工作中用到的并不多,所以可以仅做一个简单的了解。 物理层解决如何在连接计算机的各种传输媒体上传输数据比特流,而不是指具体的传输媒体。 物理层的主要任务描述为:确定与传输媒体的接口的一些特性,即: - 机械特性: 例如接口形状、大
在测试工作场景中,经常会遇到下面的问题: - 1、执行自动化测试用例的时候,只想指定某个测试类,或者某个方法,又或者某一类用例等,怎么办? - 2、想要和 Jenkins 一起进行持续集成,可是用例又不可能在 IDE 里面执行,怎么办? 这个时候就需要 Maven 登场了,利用 Maven 的Maven-Surefire-Plugin插件可以帮助我们完成上述的目标!它可以通过命令行的形式来管理
## Sonarqube scanner使用,需要先安装好环境及配置文件。 ## 安装 作用:分析代码与数据,并上传,独立客户端程序 独立下载:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner mac:brew install sonar-scanner scanner 有 2 种类型的配置文件,
## 如果你不想在每个项目中配置 sonar 的信息,你可以在全局配置文件中配置 sonar 的通用信息。 ## 全局配置 $MAVEN_HOME/conf 或者~/.m2 路径下的 settings.xml 因为有的时候需要分布式编译,其实不太推荐全局配置这种方式。 ``` <settings> <pluginGroups> <pluginGroup>org.so
![](https://ceshiren.com/uploads/default/original/3X/f/0/f07018a0c632500cd38ddca9d266d6fb5be38447.jpeg) Shell 作为一门最常见的脚本语言,是测试工程师日常工作的重度依赖工具。相对 Python、Ruby 等其他脚本语言,Shell 就像一把趁手的军用匕首,轻量敏捷,是深入分析待测系统的利器
继教育培训、社区团购领域大幅度裁员之后,互联网大厂裁员消息也开始陆续传出,百度爆出游戏部门300多人接近全部被裁,直播业务被裁员90%;爱奇艺大规模裁员,裁员比例在20%到40%;而腾讯在年度员工大会表示,PCG事业群将开始大规模人员优化,此外,字节、阿里、携程等一众互联网企业,都开始削减支出、裁员过冬,不得不承认互联网企业的寒冬已来。 互联网仍在发展,但已经是存量市场了,对人员规模的需求
腾讯、阿里、百度、华为等知名公司里的测试平台与测试产品越来越多,他们是如何做的,又有什么样的价值,来听思寒仔细给你解答。 ### 01 我们先来说下测试平台这几年开始火爆的原因。 随着DevOps与持续交付的成熟应用,交付速度越来越快,对测试的要求也会越来越高。很多测试团队中都有大量的测试过程需要执行,比如手工测试、UI自动化测试、接口自动化测试、性能测试、安全测试以及大量的非功能/专项测试
首先来看业界用的较早也是经常听过的一款工具—— Monkey。这是 Android 官方提供的一个工具。谷歌原本设计这款工具是为了对 App 进行压力测试的。谷歌早期在设计 Android 的时候,Android 需要响应滑动、输入、音量、电话等事件,早期 activity 设计不完善的时候,谷歌希望测试 activity 的性能,把所有的数据批量化的输出给 activity,看 activ
HttpRunner最让我们惊喜的是HttpRunner简单易用。它做到了工具集成,也有自己的核心技术,就像requests代码和HttpRunner的YAML文件,你可以无缝切换。 它是一款面向 HTTP(S) 协议的通用测试框架,你确实只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。那么首先我们需要问一下,HttpRunner是什么
![](https://ceshiren.com/uploads/default/original/3X/d/e/de45ab029ee81b1a02ed3702078ca2f2795f3d46.jpeg) Requests是一个优雅而简单的python HTTP库,其实python内置了用于访问网络的资源模块,比如urllib,但是它不如requests简单,优雅,而且缺少许多实用功能。接下来
- 传统数据库连接方式:mysql(PyMySQL) - ORM 模型:SQLAlchemy MyBatis、 Hibernate ## PyMySQL 安装: ``` pip install pymysql ``` ## 简单使用 利用 pymysql.connect 建立数据库连接并执行 SQL 命令(需要提前搭建好数据库): ``` import pymysql db =
众多接口管理工具如雨后春笋搬冒出。让人欣慰的是,有许多优秀作品来自国内,包含YApi和rap。 看着中文的官网,熟悉的汉语,不禁让人暗爽。当然这也就带来另一个弊端,因为使用基数少,所以参考资料少。我们想学习使用方法,只能依赖官方文档,也算是福祸相倚了。 本文将带您走进Yapi的世界,让您体验一回小清新的接口管理工具。 根据统计,市面上互联网项目超过10亿,保守统计涉及的API数量有100亿。
近年来,接口测试技术体系已在各大互联网企业落地普及,各种新接口框架不断涌现,业界也形成了不少成熟方案和成功案例。当前 BAT 大厂在招聘测试人员时,接口测试技能和项目经验是必考重点,直接影响到职级评定和薪资水平! 在微服务架构全面流行的背景下,接口测试能够快速并充分验证多个模块应用之间的交互(API 数据的交换、传递和控制管理过程等),可以让隐藏在代码中的底层 Bug 提前暴露,让测试能更早的发
上篇文章,我们感受到tcpdump与wireshark的组合之美,原来工具与工具之前不只竞争,还有合作,你是否还记得上篇文章中有一个伏笔,那就是代理工具:charles。本文章针对charles进行讲解,带你继续体验接口测试之旅。 charles是一个优雅的名子,你可以称呼它:查尔斯先生。它是一个网络的管理员,你的任何http/https网络消息,都要经过查尔斯先生审核,如果你和查尔斯先生关系好
题图引用自 Real Python 接口请求断言是指在发起请求之后,对返回的响应内容去做判断,用来查看是否响应内容是否与规定的返回值相符。 在发起请求后,我们使用一个变量 r 存储响应的内容,也就是 Response 对象。 Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。 获得响应头
![](https://ceshiren.com/uploads/default/original/3X/f/e/feeae45fbc8cfe74f087da06bc8b37283fc97ddb.jpeg) Requests 是一个优雅而简单的 Python HTTP 库,其实 Python 内置了用于访问网络的资源模块,比如urllib,但是它远不如 Requests 简单优雅,而且缺少了许多
接口测试仅仅掌握 Requests 或者其他一些功能强大的库的用法,是远远不够的,还需要具备能根据公司的业务流程以及需求去定制化一个接口自动化测试框架的能力。所以,接下来,我们主要介绍下接口测试用例分析以及通用的流程封装是如何完成的。 首先在做用例分析之前,可以通过追查公司一年来所有的故障原因,定位问题起因,或者通过与 CTO、产品经理、研发、运维、测试调查,得到质量痛点,还可以分析业务架构、
![](https://ceshiren.com/uploads/default/original/3X/6/1/61019ec5860cbe3c19abbe3e6206ca213bb2a867.jpeg) 1.请求行的 method 不同; 2.POST 可以附加 body,可以支持 form、json、xml、binary等各种数据格式; 3.从行业通用规范的角度来说,无状态变化的建议使用
因为本章的内容是使用jq工具配合完成,因此在开始部分会先花一定的篇幅介绍jq机器使用,如果读者已经熟悉jq,可以直接跳过这部分。 先来看应用场景,App 经常会有一些信息展示的列表页,比如商家的菜品、股票的公司、文章的列表展示等,例如下面这样: 菜品不够吃的话~不是,是菜品数量较少不够测试的量,假如我们想要测试几百个菜品时,会不会在刷的时候是否有性能影响,展示是否正常,列表展示的边界值测试等;
TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 ## 环境准备 对接口测试工具进行分类,可以如下几类: - 网络嗅探工具:tcpdump,wireshark - 代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy - 分析工具:curl,postman,chrome Devtool - ## 抓包分析TCP协
Pipeline 是 Jenkins2.X 的最核心的特性,帮助 Jenkins 实现从 CI 到 CD 与 DevOps 的转变。 Pipeline 是一组插件,让 Jenkins 可以实现持续交付管道的落地和实施。持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。