8.0 有破解
个人觉得。。导火索是,盲目追求自动化是盲目追求自动化还是盲目追求自动化啊哈哈哈。。我的理解最开始说的是,那些并不了解自动化的意义和目的,只是为了自动化而自动化的人,而后被理解成了对追求自动化技术不断进步的人的讽刺,而引起的混战。
其实技术和思想是你中有我,我中有你的吧,没有技术的思想无法最终落地转化为生产力,没有思想的技术也无法走的更远,这点在 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:启动设备里的浏览器
三选一就行,没必要全设置
设置 Capability 的时候 automationName 设置为 UIAutomator2。
WebDriverWait 是 selenium 的,不过本来也是继承的 selenium 的方法,何必分那么清楚呢
我贴的代码,实现的是根据 toast 内容判断 toast 是否存在(网上抄的),目前就看到这样的一个替代方案
如果是 toast,用 UIAutomator2 可以解决。
final WebDriverWait wait = new WebDriverWait(driver,timeOut);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(".//*[contains(@text,'"+ toast + "')]")));
嘛,用 Unicode 来表示中文呢?
很有可能,不过 testerhome 里面有人分享过解决方案的。
//设置静态文件的DNS 如果cdn.rawgit.com访问不了,可以设置为:ResourceCDN.EXTENTREPORTS 或者ResourceCDN.GITHUB
htmlReporter.config().setResourceCDN(ResourceCDN.EXTENTREPORTS);
我是把静态文件下了下来,把生成报告对应的静态资源地址改成了本地。
具体指哪一方面呢?用过 reportNG 和 extentReports,网上看过 junit 和 testNG 内置的 report 模板,最终还是选择了 extentReports,自以为,作为报告来说,extent 生成的是最像一个测试报告的样式