在携程使用TestNG/JUnit 并行跑Appium 有两个关键的地方
来源:互联网 发布:贵阳大数据是做什么的 编辑:程序博客网 时间:2024/05/20 11:25
转载地址:https://testerhome.com/topics/1944
在携程使用TestNG/JUnit 并行跑Appium 有两个关键的地方:
- 独立使用的Appium Server Wrapper
- 控制并行的Device Store Queue
Word is Cheap,示例代码如下(公布这些代码是希望大家更多的精力放到改进Appium本身):
public abstract class AbstractDeviceStore<T extends Device> implements DeviceStore<T> { protected static final Logger log = LoggerFactory .getLogger(AbstractDeviceStore.class); protected final ReentrantLock lock; protected final Condition notEmpty; protected final TreeSet<Device> devicesInUse = new TreeSet<>(); protected final Set<T> devices = new TreeSet<>(); protected AbstractDeviceStore() { lock = new ReentrantLock(true); notEmpty = lock.newCondition(); } @Override public Device take() throws InterruptedException { final ReentrantLock lock = this.lock; lock.lockInterruptibly(); try { // log.debug("devices in use size {}", devicesInUse); while (devicesInUse.isEmpty()) { log.debug("take need wait ...."); notEmpty.await(); } return devicesInUse.pollFirst(); } finally { lock.unlock(); } } @Override public void put(Device device) { final ReentrantLock lock = this.lock; lock.lock(); try { devicesInUse.add(device); notEmpty.signal(); } finally { lock.unlock(); } } @Override public Set<T> getDevices() { return new TreeSet<T>(devices); }}
0 0
- 在携程使用TestNG/JUnit 并行跑Appium 有两个关键的地方
- appium 通过testng 实现在不同的测试机上并行执行测试用例
- 基于testng+appium的APP UI自动化并行执行平台
- Android使用google地图的项目需要建立项目的两个关键地方和生成APIKey[有问题还未解决_草稿版]
- 在Eclipse中开发使用Spring IOC的JUnit/TestNG测试用例之详解
- 在Eclipse中开发使用Spring IOC的JUnit/TestNG测试用例之详解
- cmd方式的Testng+Appium
- Appium Android ——利用 TestNG 并行执行用例
- Appium+TestNG+Grid并行运行测试用例
- JUnit和TestNG有什么区别?
- TestNG 与 Junit的比较
- TestNG与Junit的比较
- junit 和 testNG的区别
- Junit和testng的区别
- Junit和testNg的区别
- testng与junit的区别
- TestNG和Junit的区别
- testng 和 junit 的区别
- 【黑马程序员】C语言字符串
- Word Search
- STM32l151低功耗芯片串口通信(HAL库)
- 你选择做个什么样的程序员
- 将两个字符串连接起来,不要用strcat函数。
- 在携程使用TestNG/JUnit 并行跑Appium 有两个关键的地方
- Linux安装mariadb新版本
- 习作-知乎收藏夹观察者(上)
- Java编程准备:了解Java
- Mybatis入门
- Golang 闭包
- BAPI_PO_CREATE1 批量创建采购订单(可一个PO采购多个材料)
- sicily 1500. Prime Gap
- apache gzip压缩设置