• 赞,期待流量回放部分的详细介绍

  • 埋点管理开源了吗

  • pressKeyCode,我试了,可以的

  • 没用 appium espresso, 用的原生的 espresso

  • 今天试着用 espresso 去写脚本,发现它是基于 activity 的,就是每个 test 都会跟一个 activity 绑定吧,代码如下:
    @Rule
    public ActivityTestRule mLoginActivityTestRule =
    new ActivityTestRule(LoginActivity.class);

    @Test
    public void clickLoginButton_showsSuccessScreenAfterLogin() {
    String email = "username@email.com";
    String password = "password";

    //type in email
    onView(withId(R.id.edit_text_email)).perform(typeText(email), closeSoftKeyboard());

    //type in password
    onView(withId(R.id.edit_text_password)).perform(typeText(password), closeSoftKeyboard());

    //click on login button
    onView(withId(R.id.button_login)).perform(click());

    //verify that success screen shows
    String successString = InstrumentationRegistry.getTargetContext().getString(R.string.text_login_successful);
    onView(withText(successString)).check(matches(isDisplayed()));

    但是我跟 Android 研发同事聊,他们用了 RN 框架后就一个 MainActivity,这样的话是不是 espresso 也不能用了

  • 看了下 espresso 的 demo 视频,执行速度比 appium 要快多了。另外,编写获取当前界面信息的工具,目前我还没这个能力,如果不借助工具呢,如何去获取定位信息呢?要去看 app 的源码吗?google 没有提供类似 UIautomatorview 的工具吗?

  • 我试了下打印 pagesource,里面居然出现了 resource-id, resource-id="android:id/action_mode_bar_stub",
    resource-id="app:id/action_bar_root" viewIndex="4

  • 今天在 GitHub 上看到了这个工程 appium-espresso-driver,看说明貌似是在 appium 中使用 espresson, 但没有使用例子,我只是简单的添加了参数 cap.setCapability("automationName", "Espresso"); 报这个错误 Got an unexpected response: {"id":"26428249-e523-49bd-b144-7bc42d1b3efa","sessionId":null,"status":7,"value":"io.appium.espressoserver.lib.handlers.exceptions.NoSuchElementException: Could not find element with strategy XPATH and selector //android.view.ViewGroup[@index='0']\n\tat io.appium.espressoserver.lib.handlers.FindE..., 这个是不是您说的 espresso 获取到的控件信息和 UIAutomator 的不一样了

  • 那看来只能改用 espresso 了

  • 通过 TouchAction 的 tap 呢?我试了下面的代码
    TouchAction actions =new TouchAction(driver);
    actions.tap(PointOption.point(50,120)).waitAction(WaitOptions.waitOptions(Duration.ofSeconds(1))).perform();
    但是返回 [debug] [W3C (cb4356b0)] Responding to client with driver.performTouch() result: null

  • 我现在是可以通过 xpath 定位到元素,但是无论是 click 和 tap 都没有反应,不知道是不是跟 clickable 属性是 false 有关系?是不是用了 RN 框架 clickable 都是 false 了呢?espresso 能解决这个问题吗

  • appium 应该用的是 UIautomator,我理解你说的获取界面信息的工具是不是类似 uiautomatorview? 另外 espresso 不了解,看说明更像是给开发人员用的吧

  • 感谢你的回复,按你的说法,这个是需要开发修改 app 吧,添加 content-desc 属性值,但这也只解决了元素定位的问题吧,clickable=false 这个怎么解呢?

  • 抱歉写错了,是 react-native

  • 问下 clickable 为 false 这个怎么解?不能 click 基本上寸步难行吧

  • 点击没反应应该是 clickable 属性是 false 的原因吧,这个怎么解决的

  • 很麻烦吧,用了 RN 框架后,resource-id 都是空,clickable 值为 false,这要怎么做自动化呢

  • 解决了,坐标理解错了,位置交交互一下就好了

  • 补充一下:appium 版本用的 1.12.0, java-clinet 用的 7.0.0

  • 你好,你的滑动有效果吗?为什么我的执行完成后界面没有滑动呢,日志里也没报错。还有 Responding to client with driver.performTouch() result: null,为什么这个返回是 Null 呢

  • ” 根据配置判断是否启用 jacoco,及分配端口号 “, 问一下,假如启用 jacoco,端口号是自动分配的?分配策略是怎样的?如果是自动分配的,codecoverage 配置是如何知道这个端口的,因为如果是 tcpserver 的模式,是需要指定 ip 和端口来获取 exec 文件的。还有,jacoco 的启用时自动执行的吗?不需要手动改 tomat 的启动脚本吗?这部分你们是怎么做的呢

  • jacoco 增量覆盖率计算工具 at 2019年05月15日

    我试了试,前面的操作步骤都正常,到最后生成的增量报告里没有数据呢?能把步骤写的在详细些吗?

  • 增量代码覆盖率工具 at 2019年05月15日

    这样的话是不是只能统计增量覆盖率,不能统计全量的了?