zoukankan      html  css  js  c++  java
  • Robotium学习笔记三

    以下是从网络上抄录的一些Robotium注意事项


    1)有些button没有string,没有text,只能通过index来click这样很不直观,而且button的index并不是固定的,有可能随着控件重新加载,顺序也有可能发生变化,无法保证测试结果。查看了robotium源码,发现大多数click方法最终都是通过传入参数转成view,再调用clickOnView,于是参照着写了一个通过button的ID来click的方法。Button的ID需要查看测试对象的源码中获取。比如导航中就有菜单栏大多数据button就是这种类型的。


    2)listview动态添加item如何判断添加成功。可从添加前及添加后Item个数判断,先确定添加item的属性,再通过相应的方法获取item。比如添加一个item可能需要三个textview,那么通过getCurrentTextViews(View)前后获取到的个数差就相差三个。比如添加黑名单到黑名单列表。


    3)有些EditText输入时调出输入法,但有些EditTextl输入时不会调出输入法,如果调出了输入法,需要goBack()关闭输入法才可进行下一步操作。比如手机防盗输入密码会调出输入法,酷盾帐号登录或是注册时不会调出输入法。


    4)有些控件是开发自已写的,robotium没有相应的API可用,可以使用clickOnScreen()大概预估一个x,y值,0坐标在左上角。比如备份还原中从备份界面切换到酷盾帐号界面,黑名单中进入黑名单列表。


    5)点击listview中随机添加的item。随机添加的item无法得知text,则可以通过clickInList(int line)。比如黑名单列表。


    6)有些界面robotium提供的滚动功能不起作用,需要找当前activity屏幕之外的button或是其他view时,可以通过solo.sendKey()发送向上、向下或是左右移动焦点找到需要点击的button或是其他view。


    4. 结果判断
    4.1 waitForText
        该方法适用于点击操作后需要一点时间才返回结果的结果判断。比如联网操作,可以设置适当的延时,等待返回结果,判断结果更加正确。


    4.2 assertActivity
        该方法适用于activity时,可以判断点击操作切换Activity是否正确,可以与waitfortext配合使用。


    4.3 searchText+assert
        当有editText时,输入内容后,可通过searchText查找输入内容是否是预期结果,再将返回结果判断。
    注:有些editText的内容无法通过searchText,原因暂时没找到。比如:手动添加黑名单时的名称及号码的输入框。


    5. 执行
        有两种方式,一种是通过eclipse;一种是通过命令行。


    5.1 eclipse
        Run as Android JUnit Test,可以跑整个测试工程,也可以跑单个测试用例。


    5.2 命令行
    adb install ****Test.apk
    adb shell am instrument testpackagename/android.test.InstrumentationTestRunner
    抓取log的关键字是TestRunner。

  • 相关阅读:
    第三十五课、文本编辑器中的数据存取------------------狄泰软件学院
    第三十四课、缓冲区操作与目录操作------------------狄泰软件学院
    第三十三课、文件流和数据流------------------狄泰软件学院
    Machine Learning in Action(6) AdaBoost算法
    Machine Learning in Action(5) SVM算法
    machine learning for hacker记录(4) 智能邮箱(排序学习&推荐系统)
    linux mysql乱码问题
    php7+新特性
    shell学习(6)- curl
    shell学习(5)- sort
  • 原文地址:https://www.cnblogs.com/riskyer/p/3359822.html
Copyright © 2011-2022 走看看