Firebase Robo Test 不遵循在 Android Studio 中创建的 Robo 脚本



我从android工作室创建了roboscript,并将创建的json文件与最新的apk文件一起上传到Robo测试实验室,用于阴性测试(使用错误的凭据)。但Firebase机器人测试中的所有测试都失败了,当我查看视频时,机器人测试只是随机点击,而不是按照指导进行。有人能在这个问题上帮忙吗?非常感谢!

以下是使用的机器人脚本:

[{"eventType":"VIEW_CLICKED";,"时间戳":1604457186524,"替换文本":"跳过";,"actionCode":-1."delayTime":0,"canScrollTo":false,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatTextView";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":2."resourceId":"com.kim.themobile.dev:id/tvSkipBtn";,"contentDescription":";,"文本":"跳过";},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":";,"contentDescription":";,"文本":"quot;},{"className":"androidx.appcompat.widget.ContentFrameLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":"android:id/content";,"contentDescription":";,"文本":"quot;}]},{"eventType":"EXT_CHANGED";,"时间戳":1604457315709,"替换文本":"(我的电子邮件:正确的电子邮件)";,"actionCode":-1."delayTime":0,"canScrollTo":是的,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatEditText";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/etEmail";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.LinearLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/llEdittext";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":";,"contentDescription":";,"文本":"quot;}]},{"eventType":"EXT_CHANGED";,"时间戳":16044557570870,"替换文本":"(我的密码是无效登录的错误密码)";,"actionCode":-1."delayTime":0,"canScrollTo":false,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatEditText";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/etPassword";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/rlPassword";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.LinearLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/llEdittext";,"contentDescription":";,"文本":"quot;}]},{"eventType":"VIEW_CLICKED";,"时间戳":1604457800428,"替换文本":"登录";,"actionCode":-1."delayTime":0,"canScrollTo":是的,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatButton";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/btSubmitLogin";,"contentDescription":";,"文本":"登录";},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":4."resourceId":"com.kim.themobile.dev:id/rlbuttons";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":";,"contentDescription":";,"文本":"quot;}]},{"eventType":"VIEW_CLICKED";,"时间戳":1604457812228,"替换文本":";,"actionCode":-1."delayTime":0,"canScrollTo":false,"elementDescriptors":[{"className":"android.widget.ImageView";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":"com.kim.themobile.dev:id/ivRevealPw";,"contentDescription":"显示密码";,"文本":"quot;},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/rlPassword";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.LinearLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/llEdittext";,"contentDescription":";,"文本":"quot;}]},{"eventType":"EXT_CHANGED";,"时间戳":1604457818109,"替换文本":"(我的密码)";,"actionCode":-1."delayTime":0,"canScrollTo":false,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatEditText";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/etPassword";,"contentDescription":";,"文本":"Hnm234@"},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/rlPassword";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.LinearLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":3."resourceId":"com.kim.themobile.dev:id/llEdittext";,"contentDescription":";,"文本":"quot;}]},{"eventType":"VIEW_CLICKED";,"时间戳":1604457894026,"替换文本":"登录";,"actionCode":-1."delayTime":0,"canScrollTo":是的,"elementDescriptors":[{"className":"androidx.appcompat.widget.AppCompatButton";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/btSubmitLogin";,"contentDescription":";,"文本":"登录";},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":4."resourceId":"com.kim.themobile.dev:id/rlbuttons";,"contentDescription":";,"文本":"quot;},{"className":"android.widget.RelativeLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":";,"contentDescription":";,"文本":"quot;}]},{"eventType":"VIEW_CLICKED";,"时间戳":1604457961623,"替换文本":";,"actionCode":-1."delayTime":0,"canScrollTo":false,"elementDescriptors":[{"className":"com.google.android.material.tabs.TabLayout$TabView";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":1."resourceId":";,"contentDescription":"Top Stories";,"文本":"quot;},{"className":"com.google.android.material.tabs.TabLayout$SlidingTabIndicator";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":";,"contentDescription":";,"文本":"quot;},{"className":"com.google.android.material.tabs.TabLayout";,"recyclerViewChildPosition":-1."adapterViewChildPosition":-1."groupViewChildPosition":0,"resourceId":"com.kim.themobile.dev:id/tlTab";,"contentDescription":";,"文本":"quot;}]}]

您的Roboscript在什么操作失败?您在Firebase测试实验室的Robo运行结果中提到了成功执行了多少Roboscript操作。知道了这一点,您可以相应地截断Roboscript,并尝试失败的操作(例如,更改其elementDescriptors)。

另一种调试方法是在Android Studio中使用Espresso test Recorder(从主菜单中,运行->录制Espresso测试)录制等效的Espresso考试。在Android Studio中运行此测试应该会产生与在Firebase测试实验室中使用Robo运行相应的Roboscript类似的结果。

此外,请确保您的应用程序在录制和回放阶段的外观和行为相同。特别是,您的应用程序在调试和发布APK时应具有相同的应用程序包名称,并在录制和回放阶段显示相同的屏幕。

最新更新