Web测试、APP测试常用技巧(错过你一定会后悔)

1. web元素定位七种方式

优先使用的6种

  1. find_element_by_id (返回一个元素)
  2. find_element(s)_by_class_name (根据类名获取元素列表)
  3. find_element(s)_by_name (根据标签的name属性值返回包含标签对象元素的列表)
  4. find_element(s)_by_link_text (根据连接文本获取元素列表)
  5. find_element(s)_by_partial_link_text (根据链接包含的文本获取元素列表)
  6. find_element(s)_by_tag_name (根据标签名获取元素列表)
  7. find_element(s)_by_css_selector 根据css选择器获取

万不得已下使用的两个

  1. find_element(s)_by_css_selector (根据css选择器来获取元素列表)
  2. find_element(s)_by_xpath (返回一个包含元素的列表)

2. app元素定位3种方式

  1. by_id
  2. by_class_name
  3. by_xpath
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

3. adb常用命令

  1. adb 帮助:adb --help
  2. 启动adb 服务:adb start-server
  3. 关闭adb 服务:adb kill-server
  4. 获取设备号:adb devices
  5. 获取系统版本:adb shell getprop ro.build.version.release
  6. 发送文件到手机:adb push 电脑端⽂件路径/需要发送的文件,手机端存储的路径
  7. adb push C:\Users\win\Desktop\xx.png /sdcard
  8. 从手机拉取文件: adb pull 手机端的路径/拉取文件名 电脑端存储文件路径
  9. adb pull /sdcard/xx.png C:\Users\win\Desktop
  10. 查看手机运行日志: adb logcat
  11. 进入到手机终端: adb shell
  12. 安装app到手机: adb install 路径/xxx.apk
  13. 卸载手机app : adb uninstall app
  14. 获取app启动包名和启动名(⚠手机需要先打开对应app)
  15. Mac/Linux: adb shell dumpsys window windows | grep mFocusedApp
  16. 在 Windows 终端运⾏: adb shell dumpsys window w | findstr mCurrent
  17. 获取app启动时间: adb shell am start -W 包名/.启动名
  18. 查看设备ip地址:
  19. adb shell ifconfig wlan0
  20. adb shell netcfg
  21. 查看设备cpu信息: adb shell cat /proc/cpuinfo

  1. 查看设备内存信息: adb shell cat /proc/meminfo

  1. 点亮屏幕: adb shell input keyevent 224

  1. 熄灭屏幕: adb shell input keyevent 223

4. 键盘操作常用函数

  1. send_keys(Keys.BACK_SPACE)删除键(BackSpace)
  2. send_keys(Keys.SPACE)空格键(Space)
  3. send_keys(Keys.TAB)制表键(Tab)
  4. send_keys(Keys.ESCAPE)回退键(Esc)
  5. send_keys(Keys.ENTER)回车键(Enter)
  6. send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
  7. send_keys(Keys.CONTROL,‘c’)复制(Ctrl+C)
  8. send_keys(Keys.CONTROL,‘v’) 全选(Ctrl+V)
  9. send_keys(Keys.CONTROL,‘x’)复制(Ctrl+X)

5. 鼠标操作常用函数

  1. context_click() 右击 --> 此方法模拟鼠标右键点击效果
  2. double_click() 双击 --> 此方法模拟双标双击效果
  3. drag_and_drop() 拖动 --> 此方法模拟双标拖动效果
  4. move_to_element() 悬停 --> 此方法模拟鼠标悬停效果
  5. perform() 执行 --> 此方法用来执行以上所有鼠标方法

6. apppium:

开源、跨平台的UI自动化测试工具,支持多种语言编写的测试脚本

原理:

  1. test scripts(测试脚本发送一个请求到appium server)
  2. appium server接收到请求后进行解析并把请求转发给 bootstrap.jar。
  3. jar接收到appium的命令,调用UIAutomator命令实现操作
  4. 最终结果由bootstrap.jar返回给Appium server。

7. fixture

  1. 必须继承unittest.TestCase类,setUp、tearDown才是一个Fixture;
  2. setUp:一般做初始化工作,比如:实例化浏览器、浏览器最大化、隐式等待设置
  3. tearDown:一般做结束工作,比如:退出登录、关闭浏览器
  4. 如果一个测试类有多个test开头方法,则每个方法执行之前都会运行setUp、结束时运行tearDown

end今天的分享就到处结束了!底赞关注不迷路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux环境安装可操作图库语言Gremlin的图框架HugeGraph

原创/朱季谦 若你还没接触过图数据库,可能看到这个概念时,会比较蒙蔽。 图是什么?图数据库又是什么? 首先,在数据结构中,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非…

常见数据结构

数据结构概述 数据结构是计算机底层存储、组织数据的方式,是指数据相互之间是以什么方式排列在一起的。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 栈 栈数据结构的执行特点:后进先出,先进后出。 栈模型…

探索灵活性与可维护性的利器:策略(Strategy)模式详解

目录 ​编辑 1. 策略模式概述: 2. 主要角色: 3. 实例场景: 4. 具体实现步骤: 步骤一:定义策略接口 5. 使用策略模式的客户端代码: 总结: 我的其他博客 1. 策略模式概述: 策…

python【matplotlib】鼠标拖动滚动缩放坐标范围和拖动图例共存

背景 根据前面的博文: python【matplotlib】画图鼠标缩放拖动动态改变坐标轴范围 和Python【Matplotlib】图例可拖动改变位置 两个博文,博主考虑了一下,如何将两者的功能结合起来,让二者共存。 只需根据Python【Matplotlib】鼠标…

域名、DNS 和 IP是什么?网站搭建的必备知识,一文搞定

在正式进行WordPress站点搭建前,有一些最基础的知识是必备的,这篇文章会详细介绍给大家。 一、域名、DNS和IP的关系 域名、DNS和IP是互联网上的三个重要的概念,它们之间有着密切的联系,也影响着我们访问网站的方式和效果。接下来…

JNA实现JAVA调用C/C++动态库

1.JNA JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而…

5.1 C++11强类型枚举

一、C枚举的缺陷 1.类型冲突 枚举值和类型都是全局可见的, 与正常C的namespace、类等都是格格不入的,并且还容易导致冲突。 enum Type { General, Light, Medium, Heavy }; enum Category { General, Pistol, MachineGun, Cannon }; 如果在相同作用域…

【CSS】用 CSS 写一个渐变色边框的输入框

Using_CSS_gradients MDN 多渐变色输入框&#xff0c;群友问了下&#xff0c;就试着写了下&#xff0c;看了看 css 渐变色 MDN 文档&#xff0c;其实很简单&#xff0c;代码记录下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta ch…

uniapp实现检查版本检测,更新

1.首先需要获取当前app的版本 const systemInfo uni.getSystemInfoSync();// 应用程序版本号// #ifdef APPme.version systemInfo.appWgtVersion;// #endif// #ifdef H5me.version systemInfo.appVersion;// #endif2.在获取到服务器保存的app版本 3.点击按钮验证版本号 //…

JS的箭头函数this:

箭头函数不会创建自己的this&#xff0c;它只会从自己的作用域链的上一层沿用this。 具体看实例&#xff1a; //以前&#xff1a;谁调用的这个函数 this就指向谁// console.log(this);//window// function fn(){// console.log(this);//window 因为这个函数也是window调用…

lwIP 细节之五:accept 回调函数是何时调用的

使用 lwIP 协议栈进行 TCP 裸机编程&#xff0c;其本质就是编写协议栈指定的各种回调函数。将你的应用逻辑封装成函数&#xff0c;注册到协议栈&#xff0c;在适当的时候&#xff0c;由协议栈自动调用&#xff0c;所以称为回调。 注&#xff1a;除非特别说明&#xff0c;以下内…

2024GoCN线下活动全面启动,赠送深圳MeetUp门票

2024年GoCN社区将全面启动一系列令人期待的线下活动---不仅将在北京、上海、深圳、武汉、成都、杭州、广州、西安等地举办 meetup&#xff0c;还将在北京和上海举办 GopherChina 大会。 2024议题征集通道已开启&#xff0c;欢迎各位有实战经验、独特观点的Gopher前来分享~ 2024…

Anaconda中使用Jupyter出现’No module named ‘pymysql‘问题解决

问题截图&#xff1a; 解决办法&#xff1a; 一.找到Anaconda所在文件夹&#xff0c;文件夹处输入 cmd 进入命令控制 二. 在打开的cmd中输入‘conda install pymysql’ 三、输入y 安装完成~ 测试&#xff1a; import pandas as pd from sqlalchemy import create_engine …

EAM系统在地铁设备管理中的应用

在现代城市的交通系统中&#xff0c;地铁作为一种高效、快速、可靠的公共交通工具&#xff0c;扮演着至关重要的角色。为了确保地铁系统的正常运行和可靠性&#xff0c;地铁管理部门需要有效地管理大量的设备和设施。在这个过程中&#xff0c;企业资产管理&#xff08;EAM&…

Python个人代码随笔(观看无益,请跳过)

异常抛错&#xff1a;一般来说&#xff0c;在程序中&#xff0c;遇到异常时&#xff0c;会从这一层逐层往外抛错&#xff0c;一直抛到最外层&#xff0c;由最外层把错误显示在用户终端。 try:raise ValueError("A value error...") except ValueError:print("V…

linux源码包管理

8.2 源码包管理 source code需要经过GC,C编译环境编译才能运行 ​ 可以设定个人设置&#xff0c;但配置复杂 ​ 软件包示例: nginx-1.8.1.tar.gz -----------------------------------------------------------------------------------------------------------------------…

知识付费小程序开发:构建个性化学习平台的技术实践

随着在线学习和知识付费的兴起&#xff0c;开发一款知识付费小程序成为了创新的热点之一。本文将通过使用Node.js、Express和MongoDB为例&#xff0c;演示如何构建一个基础的知识付费小程序后端&#xff0c;并实现用户认证和知识内容管理。 1. 初始化项目 首先&#xff0c;确…

CSS复合选择器(在基础选择器上元素选择的方式不同)

后代选择器&#xff1a; ------------ 此情况下&#xff0c;红色的可以划去 子&#xff08;元素&#xff09;选择器&#xff1a; 并集选择器&#xff1a; 伪类选择器&#xff1a; 如放上字符会变色。 链接伪类选择器&#xff1a; foucus伪类选择器&#xff1a;

matplotlib如何在label中加入字符并换行【已解决】

最近在跑一个超参数的实验&#xff0c;但是发现x轴的刻度就很丑 显然&#xff0c;lr和theta在一行显得很冗余 这个是此时的label x_labels [$\t{lr0.05}\ \tθ10}$, 40, 60] 正常加换行符即可&#xff0c;但是要加上$$ x_labels [$\t{lr0.05}\ $\n$ \tθ10}$, 40, 60] 大…

听力健康“吃”出来

大多数的研究报告都指出&#xff0c;听力下降的最常见原因是年龄和噪音暴露。然而&#xff0c;近年来越来越多的文章开始探讨其他因素对听力的影响。食物不仅是维持人类基本生存的必需品&#xff0c;随着营养学的进步&#xff0c;人们也逐渐认识到食物中的营养与保持健康之间存…