• 8.0 有破解

  • 测试方法论-质量的基石 at 2017年11月21日

    个人觉得。。导火索是,盲目追求自动化是盲目追求自动化还是盲目追求自动化啊哈哈哈。。我的理解最开始说的是,那些并不了解自动化的意义和目的,只是为了自动化而自动化的人,而后被理解成了对追求自动化技术不断进步的人的讽刺,而引起的混战。
    其实技术和思想是你中有我,我中有你的吧,没有技术的思想无法最终落地转化为生产力,没有思想的技术也无法走的更远,这点在 100 多回复中都是有共识的,大家都是在讽刺那些偏执觉得一方必须压过一方的那些人,其实没有矛盾啊(我是不会承认我没把每一篇回复都仔细看完的)
    嘛,我只是来打酱油的,版大别删这个帖子啊,我以后还要经常来看看,大家说的很多都很有道理,只是所处环境不同,运用场景不同罢了。


  • idea 的设置供参考

  • 另外,extendreports 里面调整 flush() 的时机(设置追加报告的模式),也能实现 realtime 吧

  • 看看开源协议先,小心人告你,做商业用途😏

  • 或者可以在 xml 中设置组中组,然后在@BeforeGroups中创建父节点

  • 创建父节点和子节点,比如我是以 test 作为父节点,以 class 作为子节点,以 method 作为孙节点:

    //在Suite执行之前,先创建ExtentReport实例
    @BeforeSuite
    public void beforeSuite(ITestContext context) {
        extent = ExtentManager.createInstance(context.getSuite().getName(),context.getSuite().getName());
    }
    
    @BeforeGroups
    public synchronized void beforeGroups(){
    
    }
    
    @BeforeTest
    public synchronized void beforeTest(ITestContext context){
        //将test作为父节点
        ExtentTest parent = extent.createTest(context.getName());
        parentTest.set(parent);
    }
    
    @BeforeClass
    public synchronized void beforeClass() {
        //将class作为子节点
        ExtentTest child = parentTest.get().createNode(getClass().getSimpleName());
        childTest.set(child);
    }
    
    @BeforeMethod
    public synchronized void beforeMethod(Method method) {
        //将Method作为孙节点
        ExtentTest GrandsonTest = childTest.get().createNode(method.getName());
        test.set(GrandsonTest);
    }
    
  • 如果要本地化,要改包内的报告模板,head.ftl 和 index.ftl
    或者通过接口修改 cdn 地址

    //设置静态文件的DNS 如果cdn.rawgit.com访问不了,可以设置为:ResourceCDN.EXTENTREPORTS 或者ResourceCDN.GITHUB
          htmlReporter.config().setResourceCDN(ResourceCDN.EXTENTREPORTS);
    
  • 我猜是 selenium 的的包用了 3.5+ 的

  • 设了 app 就不要设 activity 嘛。。
    caps.apps:从本地安装后启动
    caps.appPackage+caps.appActivity: 从设备里启动某个应用
    caps.BROWSER_NAME:启动设备里的浏览器
    三选一就行,没必要全设置