TestDemo

如何统一接口测试的功能、自动化和性能测试用例

徘徊边缘 提交于 2020-01-06 20:59:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 服务端的测试,大多数内容都围绕着接口展开。对于接口测试,无非也是功能、自动化、性能测试为主,偶然想到一个问题,如果能写一个用例,在功能、自动化、性能三者的测试场景中重复使用,肯定能省去非常多的时间。 总体思路跟之前的接口和性能框架一样,通过总的测试项目中把接口功能封装好,留出来测试参数。功能测试就写方法调用然后人肉检查,自动化的话把接口响应拿出来,然后验证各种数据,性能直接使用性能框架直接调用该方法即可。 花了点时间,做了一个Demo,分享给大家。 这是一个简易的接口请求方法,其中main方法里面是功能测试执行代码,用例是文档形式,这里就不写了: public class Headgear extends NajmBase { public Headgear(NajmBase najmBase) { this.loginKey = najmBase.loginKey; this.args = najmBase.args; this.user_id = najmBase.user_id; } private static NajmBase base = NajmBase.getBase(0); public static Headgear drive = new Headgear(base); /** *

03、pytest查找测试策略

一世执手 提交于 2019-12-17 15:58:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 默认情况下,pytest会递归查找当前目录下所有以 test 开始或结尾的 Python 脚本,并执行文件内的所有以 test 开始或结束的函数和方法. etc ├── robocop.toml ├── test_data.py └── test_demo.py 一、执行某文件夹下所有 test 打头的py文件中 test 打头的函数(测试用例) ╰ pytest -v etc =================================================== test session starts ==================================================== platform darwin -- Python 3.7.4, pytest-4.4.0, py-1.8.0, pluggy-0.13.0 -- /Users/zhouwanghua/Code/Leyan/python/robocop/bin/python cachedir: .pytest_cache metadata: {'Python': '3.7.4', 'Platform': 'Darwin-18.6.0-x86_64-i386-64bit', 'Packages': {

android UiAutomator如何根据颜色判断控件的状态

痴心易碎 提交于 2019-11-29 09:37:59
本人在用UiAutomator做测试的时候,经常会遇到一些控件因为不同的条件显示不同的颜色,在学习了UiAutomator图像处理之后,自己尝试写了一个方法来处理不同颜色控件的区分。分享代码供大家参考。 //根据颜色判断状态 public boolean isBlue(UiObject uiObject) throws UiObjectNotFoundException { screenShot("test");//截图 String path = "/mnt/sdcard/123/test.png"; Bitmap bitmap = BitmapFactory.decodeFile(path);//新建并实例化bitmap对象 Rect rect = uiObject.getVisibleBounds(); int x = rect.left; int xx = rect.right; int y = rect.top; int yy = rect.bottom; List<Integer> blueColor = new ArrayList<Integer>(); for (int i = x; i < xx; i++) { for (int k = y;k < yy;k++) { int color = bitmap.getPixel(i, k);//获取坐标点像素颜色

不要在遍历的时候删除

纵饮孤独 提交于 2019-11-28 21:53:15
本人学习使用java和相关自动化工具的过程中,遇到很多问题,大多数问题解决之后发现原来根本就是识文学字常见错误。但是最近公司产品出现了一个bug,经过复盘讨论之后,原因竟然是添加修改banner的时候,在遍历过程中直接把元素删了,直接导致了闪退。不知道这个问题在开发眼睛里算什么问题,也不知道这是何种级别的错误。这里就不吐槽了,说一下复现的方法吧。 重要提醒:不要再遍历的时候删除元素。 下面是复现代码: Map<Integer, Integer> abc= new HashMap<>(); abc.put(1, 2); abc.put(2, 3); abc.put(3, 4); Set<Integer> keys = abc.keySet(); for(int i : keys) { if (i==2) { abc.remove(i); } } 下面是异常: Exception in thread "main" java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) at java.util.HashMap$KeyIterator.next(HashMap.java:1453) at source.Practise.testDemo