基于控件的自动操作android,Android自动化追本溯源系列(2):在控件上执行操作...

上回说到,在Android自动化测试时,通过反射机制,我们能获得页面的所有控件。来看一个简单的应用例子:ArrayList views = getAllViews();

for(View view : views)

Log.d("Views On Activity:", view.getClass().getName());

}

这样在LogCat里我们就可以打印出所有的View了:-27 22:24:52.369: D/Views On Activity:(2123): android.widget.LinearLayout

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.widget.ActionBarContainer

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.widget.ActionBarView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.LinearLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.ImageView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.LinearLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.widget.ActionBarView$HomeView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.ImageView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.ImageView

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.view.menu.ActionMenuView

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.widget.ActionBarContextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.FrameLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.RelativeLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.RelativeLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.ImageView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.ImageView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.RelativeLayout

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.TextView

-27 22:24:52.369: D/Views On Activity:(2123): android.widget.Button

-27 22:24:52.369: D/Views On Activity:(2123): com.android.internal.policy.impl.PhoneWindow$DecorView

我们看到这里罗列了所有的控件,有Layout, TextView, Button 等等。而获得了这些控件,对我们有什么用呢?

Yes,有了这些控件,我们就可以执行相应的操作了!

比如:

1、有了Button,我们可以执行Click On Button操作

2、有了TextView,我们就可以得到页面的所有Text,去验证Message或者做Localization Testing

3、同样有了ImageView,我们可以执行Click操作,甚至可以得到页面显示的图片

4、.......

下面分享一些我们项目中用到的关于这些操作的典型片断:

● Click 操作public void clickOnView(int id)

{

View view = solo.getView(id);

if(view != null)

{

solo.clickOnView(view);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值