• 现在还集成在公司自动化平台里面,后面计划整理一下再放出来

  • 首先,先点一个赞!目前我也在做一个类似的平台,功能比较相似,期待你可以早点完成脱敏开源。
    有几个小问题,期待解惑一下,感谢。
    1、(实现多用户同时工作,且相互独立),这块是如何实现的,slave 固定,运行中的其他人如何同时启动运行?
    2、测试数据 csv 如何分发到各个 jmeter slave 压力机的?
    3、在线编辑压测脚本配置时,是否支持断言、if 控制器、for 循环控制器?
    4、编辑已上传的 jmx 压测脚本,是类似于这样解析 jmx 脚本吗?

    SearchByClass<ThreadGroup> threadGroups = new SearchByClass<>(ThreadGroup.class);
    if (testPlanTree != null) {
        testPlanTree.traverse(threadGroups);
    }
    Collection<ThreadGroup> threadGroupsRes = threadGroups.getSearchResults();
    for (ThreadGroup threadGroup : threadGroupsRes) {
        LoopController lp = (LoopController) threadGroup.getSamplerController();
        jmxHashTreeVO.setThreadGroupContinues(lp.getPropertyAsBoolean("LoopController.continue_forever"));
        jmxHashTreeVO.setThreadGroupLoops(String.valueOf(lp.getLoops()));
        jmxHashTreeVO.setThreadGroupNumThreads(threadGroup.getNumThreads());
        jmxHashTreeVO.setThreadGroupRampUp(threadGroup.getRampUp());
        jmxHashTreeVO.setThreadGroupScheduler(threadGroup.getScheduler());
        jmxHashTreeVO.setThreadGroupDuration(threadGroup.getDuration());
        jmxHashTreeVO.setThreadGroupDelay(threadGroup.getDelay());
    }
    
  • 非常棒的 idea,是否支持 JIRA 的导入?

  • 我在做的也是基于 JMeter 实现的简易压测平台。
    以下简单列一下目前已实现的功能以及主要思路,仅供参考。
    也希望大家可以提出更优化的意见和建议!

    1、jmx 文件上传(业务测试本地调试通过)
    2、上传测试数据 csv 文件(如果需要用到的话)
    3、自动绑定 jmx 文件以及 csv 文件,同时,自动更新 jmx 文件中引用的 csv 文件对应上传到服务器的目录路径
    4、提供编辑功能(暂仅支持在线编辑保存:测试计划公共参数、线程组参数、调度器配置参数)
    5、提供 jmx 文件、csv 文件在线打包下载功能
    6、提供多压力机环境(通过 shell 脚本自动分发 csv 文件到各个 slave 机器,并启动各个 slave 节点 jmeter-server)
    7、测试过程中自动收集服务器应用日志,线程堆栈日志,数据库日志
    8、运行结束后,展示性能测试报告(JMeter 原生提供的 report)
    9、暂不支持多人同时运行,加锁等待,使用完成后释放

  • 实时监控性能测试 at 2018年11月22日

    点个赞,回头用的时候再仔细研究学习下

  • 👍 关注中,期待二三,希望不会断掉

  • 哈,巧合了。我是使用 Java + springboot + Appium / Selenium,实现了一套类似功能的 UI 自动化测试平台。正在准备抽离业务代码做下开源分享,刚巧看到你的这篇帖子,学习一下。😀

  • 你看下我的帖子中,关于我的问题的解决方案写在帖子最后。希望对你有帮助

  • 已解决

  • mark,目前在用 Java 做一套类型的自动化平台,还在进行中。期待楼主的项目早日脱敏完全开源,学习下思路。

  • java-client 5.0.4 我也没找到 double tap 方法。。。

  • 升级了 python 最新版本 3.6.5,终于正常了

  • 卸载重装后,还是不行,路径应该还是不对

    <PyHKEY:0x000006C6>
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
        return self.func(*args)
      File "C:\Python34\lib\site-packages\apkutils\gui\__main__.py", line 24, in _bind_apk_right_menu
        "../android.ico").resolve())
      File "C:\Python34\lib\pathlib.py", line 1027, in resolve
        s = self._flavour.resolve(self)
      File "C:\Python34\lib\pathlib.py", line 182, in resolve
        return self._ext_to_normal(_getfinalpathname(s))
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\Python34\\lib\\site-packages\\apkutils\\gui\\__main__.py\\..\\android.ico'
    
  • win10 64 位,python34.
    刚才重启命令行,重新执行绑定命令。有如下报错信息:

    <PyHKEY:0x000006C6>
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
        return self.func(*args)
      File "C:\Python34\lib\site-packages\apkutils\gui\__main__.py", line 24, in _bind_apk_right_menu
        "../../../imgs/android.ico").resolve())
      File "C:\Python34\lib\pathlib.py", line 1027, in resolve
        s = self._flavour.resolve(self)
      File "C:\Python34\lib\pathlib.py", line 182, in resolve
        return self._ext_to_normal(_getfinalpathname(s))
    FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Python34\\lib\\site-packages\\apkutils\\gui\\__main__.py\\..\\..\\..\\imgs\\android.ico'
    
  • 点绑定按钮没任何反应,之后右键 apk 选择 APK Parser,报错:该文件没有与之关联的应用来执行该操作......

  • 我也报的这个错,命令行安装的 appium,环境变量已经配了

  • 使用 UIAutomator 2 初始化启动 driver,再试试 Android 8

  • Appium driver 的启动参数,把 Appium 改成 UIAutomator 2 再试试,Android 7 应该就能支持了。

  • Http 接口自动化测试平台 at 2018年04月25日

    期待分享设计思路,期待开源

  • 楼主项目 git 地址可以贴出来一份吗?参考学习一下,我最近也在研究搞这块

  • 我现在是这么处理 APP 系统授权弹框的,思路基本一样。

    // 自动处理应用首次启动系统授权
    UIBean systemPopUpBox = new UIBean(by.NAME, "始终允许", "系统授权弹框");
    while (appiumUtil.isElementExist(systemPopUpBox)) {
        try {
            appiumUtil.clickBean(systemPopUpBox);
        } catch (Exception e) {
            logger.error("自动点击app应用系统授权框出错!" + e.getMessage());
        }
    }
    
  • 在一朋友帮助下,问题终于得到解决。现贴出解决办法。
    网卡配置文件中 PREFIX=32 改成 PREFIX=24
    之后重启网卡 service network restart ,搞定。~

  • JAVA Appium 中,我试了下面两种方式,方式一报错未生效,方法二生效可用。供各位参考

    方式一
    selectDriver.driver.switchTo().alert().accept();
    
    方式二
    // 自动处理应用首次启动系统授权
    UIBean systemPopUpBox = new UIBean(by.NAME, "始终允许", "系统授权弹框");
    while (appiumUtil.isElementExist(systemPopUpBox)) {
        try {
            appiumUtil.clickBean(systemPopUpBox);
        } catch (Exception e) {
            logger.error("自动点击应用app授权出错!" + e.getMessage());
        }
    }
    
  • 赞一个!期待 Appium 中早日能融入这种方式。