想问一下楼主埋点是怎么实现的
简单看了下楼主的实现,楼主使用的是 java-callgraph2,这个工具是使用字节码分析的调用链,因此要求拉代码后再编译成 jar 包。
我之前用 ASM 写了一个跟楼主类似的工具,但是只处理 invokeXXX 指令遇到多态和覆写时无法获取真实的被调用者 (java-callgraph2 貌似处理的不全),而且使用起来不仅要源码还要字节码确实蛋疼,后来索性直接写了个 idea 的插件,依托 idea 提供的 api 全在源码层面分析了
TopK 问题可以考虑用堆解决
感觉 Selenium 无法直接伪类元素,但是可以通过调用 JavaScript 获取其属性,具体如下:
JavascriptExecutor jse = (JavascriptExecutor) driver;
// 这里先定位到label元素
WebElement e = driver.findElement(By.cssSelector("label.el-form-item__label"));
// 这里js前一定要加return,否则结果会是null
// 如果伪类元素不存在,下面的语句会返回"none"
String content = (String) jse.executeScript("return window.getComputedStyle(arguments[0], '::before').content", e);
select B.* from B join A on B.tno = A.tno where A.tname like '王%';
select A.tname, count(0) from B join A on B.tno = A.tno group by A.tno;
这样子?
期待
其实我说的就是这种方式,测试人员每次执行手工用例时都需要额外的去标记用例开始和结束,总感觉这种方式不是很好,第一是给测试人员引入了额外的操作可能会影响测试效率,第二是关联依赖于人为操作,可能因为误操作引入错误。
采用降噪服务,关联用例和拦截到的执行代码
请问这里如何关联执行代码和手工测试用例,每执行一条案例需要测试人员手工去操作吗?如果这样的话给测试人员带来的额外成本会很高
赞一个