提取控件ID类-手机测试Robotium实战教程(5)

发表于:2015-12-16 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨志伟    来源:51Testing软件测试网原创

  (51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)
  可以单击左边截图中需要查看的控件,这个工具会在右侧区域显示这个控件的相关信息,从中获得用户名、密码框和登入按钮的ID,从而可以编写控件类ElementsLoginActivity如下。
package com.example.todolist.test.elements;
import android.widget.Button;
import android.widget.EditText;
import com.example.todolist.R;
import com.Robotium.solo.Solo;
publicclass ElementsLoginActivity {
private Solo solo;
//声明两个变量来存储账号输入框和密码框
private EditText nameEditText, passwordEditText;
private Button loginButton;
public ElementsLoginActivity(Solo solo) {
this.solo = solo;
}
/**
* 初始化时,找到所有登录页面的控件
*/
public void initViews() {
//通过ID找出控件,赋值给变量
nameEditText = (EditText) solo.getCurrentActivity().findViewById(
R.id.nameET);
passwordEditText = (EditText) solo.getCurrentActivity().findViewById(
R.id.passwordET);
loginButton = (Button) solo.getCurrentActivity().findViewById(
R.id.loginBtn);
}
/**
* 获得用户名输入框
*
* @return
*/
public EditText getNameEditText() {
returnnameEditText;
}
/**
* 获得密码输入框
*
* @return
*/
public EditText getPasswordEditText() {
returnpasswordEditText;
}
/**
* 获得登录按钮
*
* @return
*/
public Button getLoginButton() {
returnloginButton;
}
/**
* 输入用户名
*
* @param text
*/
publicvoid enterName(String text) {
solo.enterText(nameEditText, text);
}
/**
* 输入密码
*
* @param text
*/
publicvoid enterPassword(String text) {
//通过solo.enterText可以往输入框输入值,第一个参数指定要输入的输入框
//第二个参数是往输入框输入的值
solo.enterText(passwordEditText, text);
}
/**
* 单击登录按钮
*/
publicvoid clickLoginButton() {
//通过solo.clickOnView单击你要单击的View
solo.clickOnView(loginButton);
}
}
  现在这个控件类中只封装了一些常用的方法,如向账号框输入值、向密码框输入值、单击登录按钮等,后续可以继续完善,把这个页面常用的一些方法封装在这个控件类中,如清除账号输入框、密码框等方法,尽量使这个页面公有的一些操作都封装在这个类中,暴露给具体用例的只是这个控件类,这样如果后续有些界面改动,可能只需要修改这个控件类即可,不用修改到具体的测试类,当然,如果界面变动很大,连原本的测试用例的步骤都变了,具体的测试类还是要修改。
  其他页面可以参照上面抽取控件类的方法,依次抽取出对应的控件类。
本文选自《手机测试Robotium实战教程》第六章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
完善测试框架-手机测试Robotium实战教程(4)
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号