【问题标题】:Running synchronous tests with robotium on multiple devices在多个设备上使用 robotsium 运行同步测试
【发布时间】:2015-07-02 16:50:38
【问题描述】:

我有两个应用程序需要测试,这两个应用程序相互响应 1. App A是他正在执行他的活动的用户App,更具体地说是提交订单 2. App B 是供应商 App,他在其中制作客户订单

根据定义,两个应用程序都需要在不同的设备上运行

我的测试流程如下 1. 客户和供应商打开他们的应用程序 2. 客户下单 3. 供应商接单 4. 供应商接受订单 5. 供应商履行订单 6. 客户收到订单完成通知

我可以在 robotsium 中单独对测试进行编程,问题是我需要它们同步 - 因为整个过程在现实生活中是实时的

任何人都知道我该怎么做? (无需创建数百万个小型机器人测试并一个接一个地运行它们)

提前致谢

【问题讨论】:

    标签: android robotium synchronous


    【解决方案1】:

    您可以让它们等待某个元素出现。您可以使用以下 sn-ps 来做到这一点:

    活动

    solo.waitForActivity(solo.getCurrentActivity().toString());
    

    Toast,更具体地说是 Toast 中的文字

    solo.waitForText("Some text inside toast");
    

    等待视图消失

    TextView textField = solo.getText("My Text Value", true);
      solo.waitForCondition(new Condition() {
        @Override
        public boolean isSatisfied() {
        return textField.getVisibility() == View.INVISIBLE;
      }
    }, 1000);
    

    片段

     solo.waitForFragmentByTag("MyTag");
    

    因此,您必须提供订单已提交的线索。您可以使用我们可以等待的元素来做到这一点。等待结束后,做任何你想要测试的事情。

    【讨论】:

    • 您好,感谢您的重播。我已经这样做了,但是我怎么能告诉两个“测试”同时失败呢?即如果消息没有出现在客户端我需要供应商测试失败以及提前感谢
    • 您可以在接收器上设置超时等待时间,这意味着它们可能不会同时失败,而是针对相同的测试用例。
    猜你喜欢
    • 2016-10-21
    • 2020-03-06
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多