- Toast 是 Android 系统中的一种消息框类型,它属于一种轻量级的消息提示,常常以小弹框的形式出现,一般出现 1 到 2 秒会自动消失,可以出现在屏幕上中下任意位置。它不同于 Dialog,它没有焦点。Toast 的设计思想是尽可能的不引人注意,同时还向用户显示信息希望他们看到。测试 APP 下载地址:首先将上面地址的 apk 包下载到本地,并安装到模拟器中;在模拟器中打开 API ... Toast 是 Android 系统中的一种消息框类型,它属于一种轻量级的消息提示,常常以小弹框的形式出现,一般出现 1 到 2 秒会自动消失,可以出现在屏幕上中下任意位置。它不同于 Dialog,它没有焦点。Toast 的设计思想是尽可能的不引人注意,同时还向用户显示信息希望他们看到。测试 APP 下载地址:首先将上面地址的 apk 包下载到本地,并安装到模拟器中;在模拟器中打开 API ...
- 混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。 WebView日志分析要想查看 ChromeDriver 的日志,需要在 Capability 里开启 一个开关项 showChromedriverLog。让 Appium 运行测试用例时能够生成 ChromeDriver 相关的日... 混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。 WebView日志分析要想查看 ChromeDriver 的日志,需要在 Capability 里开启 一个开关项 showChromedriverLog。让 Appium 运行测试用例时能够生成 ChromeDriver 相关的日...
- 登录:不同的用户名,不同的密码,不同的组合都需要做登录场景的测试,正常的排列组合下可能会产生多个用例搜索:不同的搜索条件产生不同的搜索结果,搜索也是常见的测试项,单个搜索参数或者多种搜索参数的组合;同样也会产生多个用例。参数化:我们在写自动化用例的时候会有很多方法,一般我们都会把数据通过参数来传递给方法,而不会直接在方法中写“死”,所以方法之间的数据传递都是通过参数化来进行,利用参数化进行数... 登录:不同的用户名,不同的密码,不同的组合都需要做登录场景的测试,正常的排列组合下可能会产生多个用例搜索:不同的搜索条件产生不同的搜索结果,搜索也是常见的测试项,单个搜索参数或者多种搜索参数的组合;同样也会产生多个用例。参数化:我们在写自动化用例的时候会有很多方法,一般我们都会把数据通过参数来传递给方法,而不会直接在方法中写“死”,所以方法之间的数据传递都是通过参数化来进行,利用参数化进行数...
- 本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。工作环境与版本:Window 7(64位)Postman (Chrome App v5.5.3)P.S. 不同版本页面 UI 和部分功能位置会有点不同,不过影响不大。首先我们来思考一下,如果要达到自动化接口测试效果,在基本的模拟请求上还需要做哪些呢?我粗略概括为 ... 本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。工作环境与版本:Window 7(64位)Postman (Chrome App v5.5.3)P.S. 不同版本页面 UI 和部分功能位置会有点不同,不过影响不大。首先我们来思考一下,如果要达到自动化接口测试效果,在基本的模拟请求上还需要做哪些呢?我粗略概括为 ...
- 除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。 PredicateString定位样本元素截图:使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。 元素属性 比较运算符==,>=,<=,>,<,!=,<>,可用来比较数值或字符串例如:label == "SYSTEM (TEXT)" 逻辑运算符AND,OR,NOT,A... 除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。 PredicateString定位样本元素截图:使用 PredicateString,基本定位方式是由元素属性名、运算符、目标值组成。 元素属性 比较运算符==,>=,<=,>,<,!=,<>,可用来比较数值或字符串例如:label == "SYSTEM (TEXT)" 逻辑运算符AND,OR,NOT,A...
- 在调试接口用例过程中,如果响应结果和预期结果不一致,则需要检查请求信息。通过代理获取自动化测试中的请求响应信息,对比与正常请求响应的区别,就能够更直观的排查请求错误,相当于编写代码时的 debug 功能。实战练习在自动化测试中,不论是 Java 版本还是 Python 版本,均可以通过设置代理来监听自动化测试脚本的请求响应信息。Python 版本通过 proxies 参数,监听请求与响应信息... 在调试接口用例过程中,如果响应结果和预期结果不一致,则需要检查请求信息。通过代理获取自动化测试中的请求响应信息,对比与正常请求响应的区别,就能够更直观的排查请求错误,相当于编写代码时的 debug 功能。实战练习在自动化测试中,不论是 Java 版本还是 Python 版本,均可以通过设置代理来监听自动化测试脚本的请求响应信息。Python 版本通过 proxies 参数,监听请求与响应信息...
- 集成测试验证组件之间的通信路径和交互,以检测接口缺陷。集成测试将模块收集在一起,并将它们作为一个子系统进行测试,以验证它们是否按照预期的方式进行协作,以实现更大的行为块。它们通过子系统执行通信路径,以检查每个模块对于如何与对等体交互的任何错误假设。这与单元测试相反,在单元测试中,即使使用真正的合作者,其目标也是密切测试被测试单元的行为,而不是整个子系统。虽然集成组件或模块的测试可以在任何粒度... 集成测试验证组件之间的通信路径和交互,以检测接口缺陷。集成测试将模块收集在一起,并将它们作为一个子系统进行测试,以验证它们是否按照预期的方式进行协作,以实现更大的行为块。它们通过子系统执行通信路径,以检查每个模块对于如何与对等体交互的任何错误假设。这与单元测试相反,在单元测试中,即使使用真正的合作者,其目标也是密切测试被测试单元的行为,而不是整个子系统。虽然集成组件或模块的测试可以在任何粒度...
- 设计框架原则:复用性高内聚,低耦合举例:高内聚:将数据库的增删改查的操作都内聚在一个模块中管理,便于可读性低耦合:针对于扩展性,例如appium有很多工作引擎来切换,安卓,ios,小程序等,可以很方便的将新的引擎集成到框架中高耦合示例:问题:判断条件过多,业务逻辑非常复杂低内聚示例:问题:同一个路径对应过多请求方法,代码没有复用 Flask RESTX接口配置flask-restx 是一个... 设计框架原则:复用性高内聚,低耦合举例:高内聚:将数据库的增删改查的操作都内聚在一个模块中管理,便于可读性低耦合:针对于扩展性,例如appium有很多工作引擎来切换,安卓,ios,小程序等,可以很方便的将新的引擎集成到框架中高耦合示例:问题:判断条件过多,业务逻辑非常复杂低内聚示例:问题:同一个路径对应过多请求方法,代码没有复用 Flask RESTX接口配置flask-restx 是一个...
- Playwright 是由微软的研发团队所开发的一款 Web 自动化测试框架,这个框架具有多平台、跨语言的特点。除了基本的自动化测试能力之外,同时它还具备非常强大的录制功能、追踪功能。以下是 Playwright 与 Selenium 的对比。由此可见,Playwright 不仅具备 Selenium 多语言、跨平台、多浏览器的优点。相较于 Selenium,Playwright 还有更加强... Playwright 是由微软的研发团队所开发的一款 Web 自动化测试框架,这个框架具有多平台、跨语言的特点。除了基本的自动化测试能力之外,同时它还具备非常强大的录制功能、追踪功能。以下是 Playwright 与 Selenium 的对比。由此可见,Playwright 不仅具备 Selenium 多语言、跨平台、多浏览器的优点。相较于 Selenium,Playwright 还有更加强...
- 如果你不想在每个项目中配置 sonar 的信息,你可以在全局配置文件中配置 sonar 的通用信息。 全局配置$MAVEN_HOME/conf 或者~/.m2 路径下的 settings.xml 因为有的时候需要分布式编译,其实不太推荐全局配置这种方式。<settings> <pluginGroups> <pluginGroup>org.sonarsource.scann... 如果你不想在每个项目中配置 sonar 的信息,你可以在全局配置文件中配置 sonar 的通用信息。 全局配置$MAVEN_HOME/conf 或者~/.m2 路径下的 settings.xml 因为有的时候需要分布式编译,其实不太推荐全局配置这种方式。<settings> <pluginGroups> <pluginGroup>org.sonarsource.scann...
- 理念与同“UI自动化测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。当测试步骤发生改变,只需要修改 yaml 文件中的配置... 理念与同“UI自动化测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。当测试步骤发生改变,只需要修改 yaml 文件中的配置...
- 根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。hamcrest 断言 maven依赖:hamcrest支持多种语言,这里以 Java 为例:进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:官网也对断言进行了分类和说明:先来看hamcrest断言和原生... 根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。hamcrest 断言 maven依赖:hamcrest支持多种语言,这里以 Java 为例:进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:官网也对断言进行了分类和说明:先来看hamcrest断言和原生...
- 记录软件测试的通用技术。 记录软件测试的通用技术。
- Cookie(复数形态:Cookies)是某些网站为了辨别用户身份而储存在用户本地终端上的数据。在接口测试过程中,如果网站采取了 Cookie 认证的方式,那么发送的请求需要附带 Cookie,才会得到正常的响应的结果。接口自动化测试也是同理,需要在构造接口测试用例时加入 Cookie。实战练习对于要对 Cookie 进行验证的网站发起请求,如果在请求过程中没有传递 Cookie 数据,则会... Cookie(复数形态:Cookies)是某些网站为了辨别用户身份而储存在用户本地终端上的数据。在接口测试过程中,如果网站采取了 Cookie 认证的方式,那么发送的请求需要附带 Cookie,才会得到正常的响应的结果。接口自动化测试也是同理,需要在构造接口测试用例时加入 Cookie。实战练习对于要对 Cookie 进行验证的网站发起请求,如果在请求过程中没有传递 Cookie 数据,则会...
- 对于测试人员,UI 遍历已经很普遍了,比如说 Monkey, UICrawler 等等,都可以进行 UI 遍历。那我们怎么按照顺序去遍历一个 app 呢。下面介绍一个360 开测平台上用 uiautomator 做的 UI 遍历。实现步骤需要的参数:包名、启动类名、遍历截止类名、遍历时间、遍历总步数、遍历中需要登录的账号、登录密码。实现思路:①. 启动当前的 apk②. 添加界面变化监听③.... 对于测试人员,UI 遍历已经很普遍了,比如说 Monkey, UICrawler 等等,都可以进行 UI 遍历。那我们怎么按照顺序去遍历一个 app 呢。下面介绍一个360 开测平台上用 uiautomator 做的 UI 遍历。实现步骤需要的参数:包名、启动类名、遍历截止类名、遍历时间、遍历总步数、遍历中需要登录的账号、登录密码。实现思路:①. 启动当前的 apk②. 添加界面变化监听③....
上滑加载中
推荐直播
-
华为云师资培训——《大数据》课程
2025/08/12 周二 15:00-17:00
贺行简-DTSE开发者技术专家 吕晨-DTSE开发者技术专家
华为云师资培训直播,带您掌握产业级大数据课程体系与华为开发者空间实战能力,助力高校数字化转型!
回顾中
热门标签