Robo Script仅抓取MainActvity

时间:2018-09-29 06:47:01

标签: android firebase firebase-test-lab

我的Robo脚本仅使用

爬行MainActivity和Activites
App.View.ElementTableRow

但是我记录了所有活动

它会忽略以下意图:

android:parentActivityName =".MainAcvitiy`
  

我的ACTIVITY_NUM = 1的RoboScript

public static void enableNavigation(final Context context, BottomNavigationViewEx viewEx){
    viewEx.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch(item.getItemId()){

                case R.id.ic_home:
                    Intent intent1 = new Intent(context, HomeActivity.class); //ACTIVITY_NUM = 0
                    context.startActivity(intent1);
                    break;

                case R.id.ic_search:
                    Intent intent2 = new Intent(context, SwipeActivity.class); // ACTIVITY_ NUM = 1
                    context.startActivity(intent2);
                    break;

                case R.id.ic_cookbook:
                    Intent intent3 = new Intent(context, CookBookActivity.class); //ACTIVITY_NUM = 2
                    context.startActivity(intent3);
                    break;

                case R.id.ic_shoppinglist:
                    Intent intent4 = new Intent(context, ShoppingListActivity.class); // ACTIVITY_NUM = 3
                    context.startActivity(intent4);
                    break;
            }
  

Activity_NUM = 2

 {
    "className": "android.support.design.internal.BottomNavigationItemView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 1,
    "resourceId": "com.mrriegl.cook_thinking_01:id/ic_search",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "android.support.design.internal.BottomNavigationMenuView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "com.mrriegl.cook_thinking_01:id/bottomNavViewBar",
    "contentDescription": "",
    "text": ""
  }
  

ACTIVITY_NUM = 3

{
"eventType": "VIEW_CLICKED",
"timestamp": 1538124993290,
"replacementText": "",
"actionCode": -1,
"delayTime": 0,
"canScrollTo": false,
"elementDescriptors": [
  {
    "className": "android.support.design.internal.BottomNavigationItemView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 2,
    "resourceId": "com.mrriegl.cook_thinking_01:id/ic_cookbook",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "android.support.design.internal.BottomNavigationMenuView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "com.mrriegl.cook_thinking_01:id/bottomNavViewBar",
    "contentDescription": "",
    "text": ""
  }
]
  

我很困惑为什么一个事件有3个元素,第一个元素是每个   正确:

{
"eventType": "VIEW_CLICKED",
"timestamp": 1538125003638,
"replacementText": "",
"actionCode": -1,
"delayTime": 0,
"canScrollTo": false,
"elementDescriptors": [
  {
    "className": "android.support.design.internal.BottomNavigationItemView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 3,
    "resourceId": "com.mrriegl.cook_thinking_01:id/ic_shoppinglist",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "android.support.design.internal.BottomNavigationMenuView",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "",
    "contentDescription": "",
    "text": ""
  },
  {
    "className": "com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx",
    "recyclerViewChildPosition": -1,
    "adapterViewChildPosition": -1,
    "groupViewChildPosition": 0,
    "resourceId": "com.mrriegl.cook_thinking_01:id/bottomNavViewBar",
    "contentDescription": "",
    "text": ""
  }

使用groupViewChildPosition的其他2个为0

这是我的第一个Android应用程序,很遗憾,我没有在互联网上找到任何东西,您能告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

1)Robo首先使用其主要活动启动应用程序,并立即应用Robo脚本,因此,Robo脚本已应用于主要活动。同时,您的Robo脚本可能跨越多个活动,唯一的限制是录制应从主要活动开始(即,您的应用在Robo脚本录制过程中可以从一个活动转到另一个活动,并且应该对其进行录制和重放)如果第一个活动是MainActivity,则正确地由Robo进行。

2)元素由其自己的属性(例如resourceId)和该元素的两个直接父级的属性标识。因此,每个元素都有三个带有属性的块-本身,直接父级和直接父级的父级。因此,在您的示例中,“ groupViewChildPosition:0”属性属于元素的父节点。