Automated Testing
自动化测试
gis2all
这个作者很懒,什么都没留下…
展开
-
识别夜神模拟器
无论是用Appium还是Katalon Studio,都需要先使用命令行连接至启动的模拟器先启动夜神模拟器查看当前模拟器地址,这里要使用夜神自带的adbnox_adb devices// 输出 127.0.0.1:62001 device再使用adb命令连接至当前模拟器adb connect 127.0.0.1:62001这样Appium中就可以启动,Katalon Studio也能识别设备 ????...原创 2021-04-18 21:10:19 · 270 阅读 · 0 评论 -
【BDD】BDD入门和工具对比
行为驱动开发(英语:Behavior-driven development,缩写BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名[1],它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。在过去数年里,它得到了很大的发展[2]。2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”[3]中,Dan North对BDD给出了如下定义:BDD是第二代的、由外及内的、基于拉(pull)原创 2020-12-02 10:34:49 · 1639 阅读 · 0 评论 -
Katalon Studio —— 事半功十倍的自动化测试利器
做了大半年的自动化测试,无奈项目进度一直很慢????。我采用的是Selenium、Appium这套开源框架,遇到的问题主要有:搭建测试环境复杂测试脚本难以维护调试困难测试环境复杂主要是安卓的测试环境比较麻烦,模拟器、Android SDK等等一系列问题比较麻烦;测试脚本一方面是稳定性不够,经常有时起作用有时不起作用,不是那么健壮,这也间接的导致调试问题变得困难,比较浪费时间????。于是我又翻出下面这张常用的自动化测试框架图,想想为何不每一个都试一下呢?????首先排除掉需要只能自己写脚本、原创 2020-12-14 12:25:11 · 1627 阅读 · 1 评论 -
【Android】常用ADB命令总结
命令功能shell input text输入文本shell rm移除文件shell rmdir移除文件夹shell pm clear清除安装包数据和缓存1. shell input text因为移动设备在电脑上没法直接复制粘贴文字,而这种方式可以向移动设备中的文本框输入文字adb shell input text https://nowcoa...原创 2020-04-29 11:49:10 · 505 阅读 · 0 评论 -
【Appium】自动化测试中应掌握的技巧
一、等待时间在寻找控件的过程中经常会出现控件延时出现的情况,所以有时候需要等待一会直到控件出现才能执行下一步操作,这里有三种等待时间技巧线程等待. This method will block the main thread and force the wait for a period of time.time.sleep(5)Implicit wait. Also known as global wait, it is executed when looking for each control原创 2020-12-02 10:51:27 · 184 阅读 · 0 评论 -
【自动化测试】这可能是最全的自动化测试工作流程 —— Windows、Android和Browser篇
目录一、Windows1. Application2. Server3. Client4. 测试脚本示例4.1 寻找控件4.2 操作控件4.3 结果验证4.4 测试报告5. 项目架构5.1 源码5.2 输入输出6. 难点事项6.1 等待时间6.2 视角控制6.3 坐标二、Android1. Application2. Server3. Client4. 测试脚本示例4.1 寻找控件4.2 操作控件4.3 结果验证4.4 测试报告5. 项目架构6. 难点事项6.1 视角问题6.2 网络问题三、Broswer1原创 2020-10-30 15:22:20 · 1380 阅读 · 0 评论 -
【WinAppDriver】控件的局限性
1. 无法获取控件的Visibility属性对于大多数控件而言,WinAppDriver都可以正确识别,但是有一些特殊的要求没法满足,我们需要尽量避开这些需求。比如说有这么一个Button, 点击它之后 就打开Toc, 所以每回点击它之前, 我需要判断Toc是否已经打,对此有两种解决方案Button的Selected属性 , 理想中如果Button被点击过,那么它的Selected属性应该为ture,但是很不幸的是,WinAppDriver中的button貌似不支持此操作,应该只有Checkbox支原创 2020-09-14 16:11:35 · 668 阅读 · 4 评论 -
【WinAppDriver】等待时间设置技巧
做桌面程序的自动化测试,难免会涉及到控件的等待,比如当点击一个Button时,要等待一个Window的出现,然后在该Window上操作其他控件。最简单粗暴的方式是使用Thread.Sleep()方法,直接阻塞线程,当然这也是最不推荐的方式,因为太不优雅的可扩展性太差,等待时间是写死的????那么如何解决呢????WinAppDriver提供一种根据条件判断是否中止的方法 Until(), 它会在指定时间内(Timeout)执行操作,如果没有返回标志,就会一直执行,一旦发现返回标志,就会退出执行,其中原创 2020-09-04 16:32:16 · 683 阅读 · 0 评论 -
【Selenium】实现GUI控件高亮测试报告
目录一、目标二、工具准备三、代码实现一、目标理想中的GUI测试报告应该有一系列按时间顺序的屏幕截图组成,并且这些截图上可以高亮地显示所操作的元素,同时按照执行顺序配有相关操作步骤iiu的详细信息二、工具准备准备测试需要用到的工具软件Server - 下载chromedriver.exe http://chromedriver.storage.googleapis.com/index.html, 这里面有不同的版本,注意下载和chrome相对应的版本`,否则测试失败Application原创 2020-08-19 17:36:16 · 263 阅读 · 0 评论 -
【Bat】批处理脚本踩坑记录
踩得的坑多了,坑也就被踩平了????♂️一、路径中有空格发现一个非常非常非常奇葩的错误,只要我在批处理中加入路径分隔符\,就会自动给我在前面加一个空格 \,导致文件路径识别出错set _xmlfile=%test_results_dir%\result.coveragexml猜想可能是Ant调用cmd时的Bug,反正最后的解决方式是手动去掉空格set _xmlfile=%_xmlfile: =%如果是目录的话,建议结尾不要带路径分隔符\:: html输出目录set html_dir=原创 2020-06-16 12:18:46 · 307 阅读 · 0 评论 -
【ANT】实现与Bat批处理、Jenkins集成管理
迁移到ANT的原因是最近公司的VM在更新,很多测试数据的路径改变,导致测试失败。如果在测试代码和测试及脚本中手动更改新的路径,无疑是一项相当繁杂的工作,而ANT可以为我们减少路径更改时的烦恼...原创 2020-05-21 13:05:51 · 528 阅读 · 0 评论 -
【Appium】Android + MSTest 错误总结及解决方法
平台自动化测试框架单元测试框架AndroidAppiumMSTest目录一、多个TestMethod不能识别元素一、多个TestMethod不能识别元素当一个TestClass中存在多个TestMethod时,往往只能在首先运行的TestMethod中正确识别元素,之后的TestMethod都不能识别元素解决方法在每个TestMethod中前后加入 Laun...原创 2020-04-29 10:42:45 · 562 阅读 · 1 评论 -
【Appium】图文并茂—超全Appium Desktop检查器使用指南
其实对于自动化测试而言,脚本的编写其实不算太难,难点是如何找到我们想要的控件,而Appium Desktop检查器完美解决了这个难题目录一、Appium Desktop检查器二、认识检查器界面三、检查器功能详解1. 选择元素2. 滑动鼠标3. 点击坐标点4. 返回5. 刷新源和屏幕截图6. 开始录制7. 搜索元素8. 将XML源复制到剪切板9. 退出回话和关闭检查器10. 源11. 操作12....原创 2020-04-28 02:22:20 · 929 阅读 · 0 评论 -
【Appium】安卓自动化测试之标准流程案例
目录一、虚拟设备设置二、Appium服务设置三、测试脚本设置四、步骤总结一、虚拟设备设置使用Visual Studio 2019自带的Android Devices Manager设备管理器来管理模拟设备,由于x86的处理器在Windows上的速度更快,所以建议虚拟设备使用x86处理器,内存的话一般大于6GB就比较流畅。Android Devices Manager可以脱离VS单独启动(前提是...原创 2020-04-27 23:02:52 · 583 阅读 · 0 评论 -
【Bat批处理】常用功能合集
一、对比文件是否相同参考资源@echo onfc D:\Temp\test\build1.txt D:\Temp\test\build2.txt > nulif %errorlevel%==1 ( rd /s /q D:\Temp\test\AA\)-1:无效的语法(例如,仅传递了一个文件)0:文件相同1:文件不同2:找不到至少一个文件使用errorlevel全局变...原创 2020-04-08 01:13:29 · 1871 阅读 · 0 评论 -
【自动化测试】用图像识别来设置系统默认输入法
在做自动化测试时,有时会忘记把测试机器的输入法调成英文状态,这就导致Sendkey()输入时是中文,导致测试失败,所以我们需要在运行测试前确保输入法是英文状态,最保险的做法是Win+Space键直接切换到 ENG英语输入法,那么该如何自动实现呢?目录一、参考研究二、模拟快捷键三、图像处理1. 设计思路2. 图片说明四、完整代码一、参考研究查了大部分资料,主流的提供这两种方法更改输入法In...原创 2020-04-04 07:19:59 · 420 阅读 · 0 评论 -
【OpenCvSharp】使用SSIM指数衡量图片相似度
在自动化测试时,经常需要截图和标准图片对比,以此判断测试是否成功,那么用什么来判断测试图片与标准图片是相似的呢?这里需要使用SSIM (Structual Similarity, 结构相似性) 用来判断图片相似度一、SSIM结构相似性指数(Structural Similarity Index,SSIM index)是一种用以衡量两张数位影像相似程度的指标。当两张影像其中一张为无失真影像,另一...原创 2020-04-03 16:20:49 · 4672 阅读 · 3 评论 -
【Win10】屏幕常亮解决方案
一、问题在做自动化测试的时候,需要模拟鼠标键盘操作事件,如果显示器锁屏的话,会导致测试失败,所以需要保持屏幕常亮不锁屏二、解决方案设置两个选项就可以了1. 创建无限制高性能计划控制面板 → 电源二、屏幕保护程序个性化 → 锁屏 → 屏幕保护程序设置...原创 2020-03-31 10:21:31 · 2225 阅读 · 0 评论 -
【Bat脚本】System error 85 has occurred
一、问题这段时间使用bat脚本从远程服务器复制文件的时候抛出这个错误System error 85 has occurredThe local device name is already in use我的脚本使用了磁盘映射,类似这种:: 删除上次设置的映射net use Y /delete /y:: 磁盘映射net use Y: \\ServerName\shares \\S...原创 2020-03-27 11:27:23 · 1285 阅读 · 0 评论 -
【Appium】从零搭建Android自动化测试环境
目录一、Appium简介二、测试环境1. Appium-Client2. Appium-Server3. 移动设备三、软件配置1. Window系统配置2. Android Emulator配置2.1 移动开发组件安装2.1 Android SDK安装3. Appium Desktop配置3.1 环境变量配置3.2 Desired Capbilities配置四、测试案例1. 启动Andriod E...原创 2020-03-22 16:10:28 · 1013 阅读 · 0 评论